【问题标题】:fn_cdc_map_lsn_to_time returns NULL for some casesfn_cdc_map_lsn_to_time 在某些情况下返回 NULL
【发布时间】:2014-01-20 10:09:42
【问题描述】:

我正在尝试在我的 sql 数据库中使用 CDC,我使用存储过程将数据从临时 CDC 表移动到新表。我还移动了 Start_lsn 标记。在新表中,我尝试使用 fn_cdc_map_lsn_to_time 将 lsn 映射到时间,对于某些记录,它返回 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

有什么解释吗?

谢谢

【问题讨论】:

    标签: sql-server cdc


    【解决方案1】:

    我找到了答案,我只想添加它以作记录。

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

    fn_cdc_map_lsn_to_time 使用系统表将 LSN 从 cdc 表映射到时间戳。一段时间后,这些记录将被删除,这就是为什么一些记录正确映射到时间的原因,因为它们是最近添加的,

    但旧的没有映射,因为它们已经被删除了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-27
      • 2015-08-03
      • 2016-09-08
      • 2010-12-31
      • 2019-02-16
      • 1970-01-01
      • 2014-10-05
      • 2023-03-12
      相关资源
      最近更新 更多