2
我正在将SQL Server 2000数据库升级到SQL Server 2008 R2。我想要使用更改数据捕获功能。我现有的应用程序我有类似的功能,但我使用触发器和历史表与Hst_
前缀与原始表几乎相似的架构。更改数据捕获 - 历史数据的初始加载
我的问题是:有没有办法将我的数据从Hst_
表迁移到CDC功能使用的表?
我想这样做,像这样的:
- 我有表
Cases
。 - 我使用我的自定义历史机制,所以我也有三个触发器(插入,更新和删除)和一个双表
Hst_Cases
。 - 现在我对表启用CDC
Cases
- CDC创建函数,该函数返回的历史数据(
fn_cdc_get_all_changes_dbo_Cases
),也是一个系统表,其实际持有的数据(cdc.dbo_Cases_CT
)。 - 我可以插入数据从
Hst_Cases
到cdc.dbo_Cases_CT
,但我有以下问题:- 我不知道怎么去
__$start_lsn
和__$seqval
。 - 很难弄清楚
__$update_mask
(我必须比较每两行)。
- 我不知道怎么去
是否有这样做的唯一途径?我想避免这种情况,然后我使用Hst_
表中的“旧”历史数据加入“新”历史数据。
谢谢!