我想在另一个数据库/表中存储“变更数据捕获”历史记录行。
我如何实现这一点?
我应该使用自己的服务来查找cdc表和复制行吗?
我可以使用SSIS cdc package来做这件事吗?(我从来没有使用过SSIS,读完这篇文章后,我感到困惑)
发布于 2013-02-27 17:09:42
我真的不认为这是开箱即用的。最好的做法是将CDC数据存储在单独的文件组中。这是使用sys.sp_cdc_enable_table的@filegroup_name参数完成的。
如果您打算这样做,并且希望保留所有CDC内置内容,如帮助程序视图/函数生成和更改查询系统函数,则需要:
(1)创建一个与主数据库结构相同的空数据库
(2)在新数据库中配置CDC,与原数据库相同
(3)放置某种类型的作业来复制数据(如果数据库位于不同的服务器上,则可以使用SSIS;如果数据库位于同一服务器上,则可以使用存储过程。如果您想使用链接服务器,也可以将SP用于单独的服务器),从原始数据库中的CDC表(包括cdc.lsn_time_mapping (您可能还需要其他系统表,不过,这是主要的系统表)中)迁移到新数据库中。
https://stackoverflow.com/questions/15107574
复制相似问题