다음을 통해 공유


sys.fn_cdc_get_max_lsn(Transact-SQL)

적용 대상: SQL Server

cdc.lsn_time_mapping 시스템 테이블의 start_lsn 열에서 최대 LSN(로그 시퀀스 번호)을 반환합니다. 이 함수를 사용하면 원하는 캡처 인스턴스에 대한 변경 데이터 캡처 시간대의 상위 엔드포인트를 반환할 수 있습니다.

Transact-SQL 구문 표기 규칙

구문

  
sys.fn_cdc_get_max_lsn ()  

반환 형식

binary(10)

설명

이 함수는 cdc.lsn_time_mapping 테이블의 start_lsn 열에 있는 최대 LSN을 반환합니다. 따라서 변경 내용이 데이터베이스 변경 테이블에 전파될 때 캡처 프로세스에서 처리되는 마지막 LSN입니다. 데이터베이스에 대해 정의된 캡처 인스턴스와 연결된 모든 타임라인에 대한 하이 엔드포인트 역할을 합니다.

이 함수는 일반적으로 쿼리 간격에 적절한 하이 엔드포인트를 가져오는 데 사용됩니다.

사용 권한

public 데이터베이스 역할의 멤버여야 합니다.

예제

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  

참고 항목

sys.fn_cdc_get_min_lsn(Transact-SQL)
트랜잭션 로그(SQL Server)