SQL触发器性能与更改数据捕获

时间:2016-01-31 07:49:20

标签: sql triggers sql-server-2012 cdc

在我的SQL Server 2012数据库中,160个表上有260个触发器(每行150个),用于审核数据更改为三个用户表。

使用160个表的160个审核表的内置变更数据捕获选项或上述方法是否正确是否合适?

1 个答案:

答案 0 :(得分:0)

CDC的工作略有不同:它连续读取事务日志并填充历史表。因此历史写入发生延迟并且不会延迟原始DML事务。但是,CDC表是由您无法控制的方法控制的,例如,如果您希望附加一些未映射到原始表中任何数据列的其他列,那将是一个挑战。

您描述的触发器或存储执行相同操作的触发器足够好。通常它们是由代码生成方法生成的,并不会使开发人员的生活变得复杂。

另外,如果我没有弄错,你说你的160个表的历史存储在3个表中 - 这也是不可能的与CDC合作。这显然既不好也不好。