linux-sqlserver开启表CDC

1、在shell中开启sqlserver数据库代理,并且重启数据库。

/opt/mssql/bin/mssql-conf set sqlagent.enabled true
systemctl restart mssql-server

2、添加CDC文件组到testdb数据库中

alter database testdb add filegroup CDC;

3、添加CDC日志到CDC文件组

alter database testdb add file
(
name='testdb_CDC',
filename='/var/opt/mssql/data/testdb_CDC.ndf',
size=5MB,
filegrowth=10%
)to filegroup CDC;

4、开启testtable表的CDC功能

IF EXISTS(SELECT 1 FROM sys.tables WHERE name='testtable' AND is_tracked_by_cdc = 0)
BEGIN
    EXEC sys.sp_cdc_enable_table
        @source_schema = 'dbo', -- source_schema
        @source_name = 'testtable', -- 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 = 'CDC' -- filegroup_name
END

5、检查表是否开启CDC

SELECT is_tracked_by_cdc FROM sys.tables WHERE name='testtable';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值