sys.fn_cdc_get_max_lsn (Transact-SQL)
從 cdc.lsn_time_mapping 系統資料表中的 start_lsn 資料行傳回最大記錄序號 (LSN)。您可以使用這個函數,針對任何擷取執行個體傳回異動資料擷取時間表的高端點。
語法
sys.fn_cdc_get_max_lsn ()
傳回類型
binary(10)
備註
這個函數會傳回 cdc.lsn_time_mapping 資料表之 start_lsn 資料行中的最大 LSN。因此,它就是變更傳播至資料庫變更資料表時,由擷取處理序所處理的最後一個 LSN。此外,它會當做所有時間表 (與針對資料庫定義的擷取執行個體相關聯) 的高端點使用。如需異動資料擷取時間表的詳細資訊,請參閱<設定異動資料擷取>。
此函數通常是用來取得查詢間隔的適當高端點。
權限
需要 public 資料庫角色中的成員資格。
範例
A. 傳回最大的 LSN 值
下列範例會針對 AdventureWorks2008R2 資料庫中的所有擷取執行個體,傳回最大的 LSN。
USE AdventureWorks2008R2;
GO
SELECT sys.fn_cdc_get_max_lsn()AS max_lsn;
B. 設定查詢範圍的高端點
下列範例會使用 sys.fn_cdc_get_max_lsn 所傳回的最大 LSN 來設定 HumanResources_Employee 擷取執行個體之查詢範圍的高端點。
USE AdventureWorks2008R2;
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