sys.fn_cdc_get_max_lsn (Transact-SQL)
適用於:SQL Server
傳回cdc.lsn_time_mapping系統數據表中start_lsn數據行的最大記錄序號 (LSN)。 您可以使用此函式傳回任何擷取實例之異動數據擷取時程表的高端點。
語法
sys.fn_cdc_get_max_lsn ()
傳回型別
binary(10)
備註
此函式會傳回cdc.lsn_time_mapping數據表start_lsn數據行中的 LSN 上限。 因此,當變更傳播至資料庫變更數據表時,擷取程式會處理最後一個 LSN。 它會做為與針對資料庫定義之擷取實例相關聯的所有時間軸的高端點。
函式通常用於取得查詢間隔的適當高端點。
權限
需要公用資料庫角色的成員資格。
範例
A. 傳回最大 LSN 值
下列範例會傳回 AdventureWorks2022 資料庫中所有擷取實例的最大 LSN。
USE AdventureWorks2022;
GO
SELECT sys.fn_cdc_get_max_lsn()AS max_lsn;
B. 設定查詢範圍的高端點
下列範例會使用 所 sys.fn_cdc_get_max_lsn
傳回的最大 LSN,為擷取實例 HumanResources_Employee
設定查詢範圍的高端點。
USE AdventureWorks2022;
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