Microsoft SQL Server 开启 CDC

SQL Server 代理服务( SQL Server agent)
 在“开始”菜单中,依次指向“所有程序”、Microsoft SQL Server 2008 R2、“配置工具”,然后单击“SQL Server 配置管理器”。
在 SQL Server 配置管理器中,展开“服务”,然后单击“SQL 代理”。
在结果窗格中,右键单击任何实例,再单击“启动”。
SQL Server Agent 旁的图标上和工具栏上的绿色箭头指示 SQL Server Agent 已成功启动。
单击“确定”。 
配置 CDC
以 test 库, dbo.person30 表为例
  1. 在需要开启cdc的数据库上执行脚本如下:
if exists(select 1 from sys.databases where name='test' and is_cdc_enabled=0)
begin
    exec sys.sp_cdc_enable_db
end

查询数据库的cdc开启状态

select is_cdc_enabled from sys.databases where name='test'

查询结果为“1”,表示开启成功。
sql server agent 中会有有如下 job
Microsoft SQL Server 开启 CDC_第1张图片

  1. 为表开启 CDC

表中必须有主键或者唯一索引

IF EXISTS(SELECT 1 FROM sys.tables WHERE name='person30' AND is_tracked_by_cdc = 0)
BEGIN
    EXEC sys.sp_cdc_enable_table
        @source_schema = 'dbo', -- source_schema
        @source_name = 'person30', -- table_name
        @capture_instance = NULL, -- capture_instance
        @supports_net_changes = 1, -- supports_net_changes
        @role_name = NULL, -- role_name
        @index_name = NULL, -- index_name
        @captured_column_list = NULL, -- captured_column_list
        @filegroup_name = 'PRIMARY' -- filegroup_name
END

查看表cdc开启状态

SELECT is_tracked_by_cdc FROM sys.tables WHERE name='person30'

查询结果为“1”,表示开启成功。

你可能感兴趣的:(kafka)