SQL Server开启CDC

1、启动sqlagent

权限:root(或sudo)

启动过程:

#设置sqlagent为 
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true 
#需要重启服务生效 
sudo systemctl restart mssql-server

2、开启数据库CDC

权限:sysadmin

开启过程:

#开启数据库CDC
if exists(select 1 from sys.databases where name='数据库名' and is_cdc_enabled=0)
begin
    exec sys.sp_cdc_enable_db
end
#检查是否开启
select is_cdc_enabled from sys.databases where name='数据库名'
#关闭数据库CDC
EXEC sys.sp_cdc_disable_db

3、开启表CDC

权限:db_owner

注意:当表字段发生变化时,需要关闭

开启过程:

#开启表CDC
IF EXISTS(SELECT 1 FROM sys.tables WHERE name='表名' AND is_tracked_by_cdc = 0)
BEGIN
    EXEC sys.sp_cdc_enable_table
        @source_schema = 'schema名', -- source_schema
        @source_name = '表名', -- table_name
        @role_name = NULL,
     
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SQL Server中启用Change Data Capture (CDC)(更改数据捕获)功能会对数据库产生一定的影响。 首先,启用CDC会在数据库中创建一些系统表和函数,用于存储和管理更改数据的元数据信息。这些系统表和函数占用一定的存储空间和系统资源,并且会增加数据库的复杂性。因此,在启用CDC之前,需要评估数据库的大小和性能,以确保数据库能够承受这些额外的开销。 其次,启用CDC会引入一些额外的系统作业,用于捕获和管理更改数据。这些作业会定期运行,对系统的性能产生一定的影响。如果系统的负载已经很高或者对实时性要求较高,启用CDC可能会导致系统性能下降。因此,需要根据实际情况来决定是否启用CDC以及如何配置捕获和清理作业的调度。 此外,启用CDC还会对数据库的事务日志产生一定的影响。CDC通过读取事务日志来捕获更改数据,如果数据库的事务日志非常繁忙,则可能影响到CDC的性能甚至导致CDC的延迟。在启用CDC之前,需要评估数据库的事务负载,以确保事务日志能够满足CDC的要求。 最后,启用CDC还需要对数据库中的相关对象进行一些设置和配置。这些设置和配置可能会对现有的应用程序和业务逻辑产生一定的影响,因此在启用CDC之前,需要进行充分的测试和验证。 总之,启用CDC会对SQL Server数据库产生一定的影响,包括存储空间、系统资源、性能和配置等方面。在决定是否启用CDC之前,需要综合考虑数据库的大小、性能、负载以及应用程序的需求,并进行充分的评估和测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EngineZhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值