将cdc历史数据存储在自定义表/另一个数据库中

时间:2013-02-27 08:43:20

标签: sql sql-server ssis cdc

我想将“更改数据捕获”历史记录行存储在另一个数据库/表中 我该如何实现呢? 我应该使用自己的服务,寻找cdc表和复制行吗? 我可以使用SSIS cdc package吗? (我从未与SSIS合作,阅读本文后,我很困惑)

1 个答案:

答案 0 :(得分:0)

我真的不认为这是开箱即用的。您可以做的最好的事情是将CDC数据存储在单独的文件组中。这是使用@filegroup_name的{​​{1}}参数完成的。

如果您已经开始这样做了,并且希望保留所有CDC内置的东西,比如帮助器视图/函数生成和更改查询系统功能,您需要:

(1)创建一个与主数据库结构相同的空数据库

(2)在新数据库中配置CDC,就像它在原始数据库中一样

(3)实施某种工作来复制数据(如果数据库位于不同的服务器上,您可以使用SSIS,或者如果在同一台服务器上,您可以使用存储过程.SP也可以用于单独的服务器(如果要使用链接服务器)从原始数据库中的CDC表开始,包括sys.sp_cdc_enable_table(可能还有其他系统问题,但这是主要的),进入新数据库。