sys.fn_cdc_get_max_lsn (Transact-SQL)

返回 cdc.lsn_time_mapping 系统表的 start_lsn 列中的最大日志序列号 (LSN)。 您可以使用此函数为任何捕获实例返回变更数据捕获时间线的高端点。

适用范围:SQL Server(SQL Server 2008 到当前版本)。

主题链接图标 Transact-SQL 语法约定

语法

sys.fn_cdc_get_max_lsn ()

返回类型

binary(10)

注释

此函数返回 cdc.lsn_time_mapping 表的 start_lsn 列中的最大 LSN。 同样,它也是将更改传播到数据库更改表时捕获进程最后处理的 LSN。 它用作与为数据库定义的捕获实例相关联的所有时间线的高端点。

该函数通常用于获取查询间隔内的相应高端点。

权限

要求具有 public 数据库角色的成员身份。

示例

A.返回最大的 LSN 值

下例返回 AdventureWorks2012 数据库中所有捕获示例的最大 LSN。

USE AdventureWorks2012;
GO
SELECT sys.fn_cdc_get_max_lsn()AS max_lsn;

B.设置查询范围的高端点

下面的示例使用 sys.fn_cdc_get_max_lsn 返回的最大 LSN 为捕获示例 HumanResources_Employee 设置查询范围的高端点。

USE AdventureWorks2012;
GO
DECLARE @from_lsn binary(10), @to_lsn binary(10);
SET @from_lsn = sys.fn_cdc_get_min_lsn(N'HumanResources_Employee');
SET @to_lsn = sys.fn_cdc_get_max_lsn();
SELECT * FROM cdc.fn_cdc_get_all_changes_HumanResources_Employee(@from_lsn, @to_lsn, 'all');
GO

请参阅

参考

sys.fn_cdc_get_min_lsn (Transact-SQL)

概念

事务日志 (SQL Server)