什么是日志序列号的含义?我知道,它的类型是二进制和10bytes的长,而且对应的时间在DB的交易发生。但是,这是保存在一些高效的二进制格式或这是日期,时间和其他的东西(例如这种情况发生在同一毫秒交易的序列号)的函数这种高精度日期时间值。我做了很多的搜索,但没有找到一个很好的答案。

任何一个可以与被用于导出来自日期 - 时间或任何的LSN一个公式或函数解释。

有帮助吗?

解决方案

  

在SQL Server中的每个记录   事务日志是唯一标识   由日志序列号(LSN)。的LSN   被排序,如果LSN 2是   比LSN1越大,变化   由日志记录中描述称为   由LSN 2发生变化后,   由日志记录LSN说明。

此处

您不应与这些是如何产生的担心。

其他提示

它是一个递增的序列(1,2,3,4,...),而不是一个日期时间值。从微软文档

  

在日志序列号(LSN)值是   由三部分组成,独特的递增   值。它是用于维护   事务日志的序列   数据库中的记录。这允许   SQL Server来维持ACID   特性和适合于执行   恢复操作。

有没有万无一失的方法获得它,但你可以从msdb.dbo.backupset猜你那备份的机器上:

SELECT  last_lsn
FROM    msdb.dbo.backupset
WHERE   backup_start_date = @backup_date

这是当然的不准确和不可靠的。

LSN是当事务的提交和备份完成,所以如果你想使用该序列的应用程序表使用while循环在你获取的顺序和使用日期 - 时间值自动生成的增量数。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top