基于Ubuntu20.04安装SQL Server并开启CDC(变更数据捕获)

1. 在Ubuntu20.04中安装SQLServer数据库

快速入门:在 Ubuntu 上安装 SQL Server 并创建数据库

2. 在Ubuntu20.04中开启SQL Server Agent

在 Linux 上创建和运行 SQL Server 代理作业

3. 开启变更数据捕获

什么是变更数据捕获(CDC)

先决条件:当前版本必须可以使用SQL Server Agent、必须为sysadmin固定服务器角色的成员才允许启用

Microsoft为SQLServer”启用和禁用 变更数据捕获”撰写的文档:Enable and disable change data capture

首先,要先为数据库开始CDC,并查看是否已经开启了CDC
SQL

-- 为数据库开启CDC
USE ichi
GO
EXEC sys.sp_cdc_enable_db
GO


-- 查询当前数据库是否开启了CDC
SELECT is_cdc_enabled FROM sys.databases WHERE name='ichi'

其次,为需要的表开启CDC,并查看是否正确开启
SQL
-- 为数据表开启CDC
USE ichi
GO

EXEC sys.sp_cdc_enable_table
    @source_schema = N'dbo', --架构
    @source_name   = N'TEACHER', --表名
    @role_name     = NULL, --访问角色
    @filegroup_name = NULL, --特定文件组
    @supports_net_changes = 1 --净更改函数
GO

--查询所有开启了CDC的表
SELECT * FROM cdc.change_tables;

执行完代码后CDC架构下会出现以下表:

最后,确保我们的CDC Agent正确开启

当我们捕获的表发生变更时,CDC中对应的表也会做出反馈

举例:在TEACHER表新增一行,CDC架构中对应的dbo_TEACHER_CT表也会对变更进行记录

新增TEST数据

CDC做出记录

订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
滚动至顶部