2014-01-20 164 views
1

我想在我的sql数据库中使用CDC,我使用存储过程将临时CDC表中的数据移动到新表中。我还移动了Start_lsn图章。在新表中我尝试使用fn_cdc_map_lsn_to_time映射的LSN时,对于某些记录返回null,并对其他人而言,返回正确的时间,这是一个例子:fn_cdc_map_lsn_to_time在某些情况下返回NULL

NULL     0x000034D5000002F80001 
2014-01-16 00:38:39.377 0x0000350F000006D70001 

NULL     0x00003513000003BA0001 2 0x3FFFFF 
2014-01-18 02:00:05.320 0x0000351E000009FA0001 2 0x3FFFFF 

没有任何解释。

谢谢

回答

2

我找到了答案,我只是想添加它的记录。

这里的问题是我将CDC表中的记录移到了我自己的表中,以防止它们被删除。

fn_cdc_map_lsn_to_time使用系统表将cdc表中的LSN映射到时间戳。经过一段时间后,这些记录将被删除,这就是为什么一些记录因为最近添加而正确映射到时间的原因,因为它们已被删除,所以旧映射中没有映射。

相关问题