Harry Asked: 2022-12-09 19:04:19 +0800 CST2022-12-09 19:04:19 +0800 CST 2022-12-09 19:04:19 +0800 CST 有什么方法可以将 LSN 转换为时间戳吗? 772 我想知道是否可以转换 LSN 的值。 即:306239000001950100001 到日期/时间戳。 scn_to_timestamp与 Oracle 中的功能类似的东西。 sql-server 1 个回答 Voted Best Answer Peter 2022-12-09T22:52:06+08:002022-12-09T22:52:06+08:00 不,它与日期时间无关。 LSN 显示为三部分结构。第一部分似乎保持不变(14),中间部分显然有一些不稳定的增加,最后一部分似乎单调增加,但当中间部分发生变化时它会重置回 0。当您知道这三个部分是什么时,就更容易理解正在发生的事情: 第一部分是 VLF 序列号。 中间部分是日志块的偏移量 最后一部分是日志块内的槽号 http://rusanu.com/2012/01/17/what-is-an-lsn-log-sequence-number/ 使用 CDC 时,您可以使用 [sys].[fn_cdc_map_lsn_to_time] 并从中获取时间 [cdc].[lsn_time_mapping] https://learn.microsoft.com/en-us/sql/relational-databases/system-functions/sys-fn-cdc-map-lsn-to-time-transact-sql?view=sql-server-ver16
不,它与日期时间无关。
http://rusanu.com/2012/01/17/what-is-an-lsn-log-sequence-number/
使用 CDC 时,您可以使用
并从中获取时间
https://learn.microsoft.com/en-us/sql/relational-databases/system-functions/sys-fn-cdc-map-lsn-to-time-transact-sql?view=sql-server-ver16