我正在将我的 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
我可以从to插入数据cdc.dbo_Cases_CT
,但我有以下问题:- 我不知道如何获得
__$start_lsn
和__$seqval
。 - 很难弄清楚
__$update_mask
(我必须比较每两行)。
- 我不知道如何获得
有没有唯一的方法可以做到这一点?我想避免这种情况,然后将“新”历史数据与Hst_
表中的“旧”历史数据连接起来。
谢谢!