sys.fn_cdc_increment_lsn(Transact-SQL)
지정된 LSN(로그 시퀀스 번호)을 기준으로 시퀀스의 다음 LSN을 반환합니다.
구문
sys.fn_cdc_increment_lsn ( lsn_value )
인수
- lsn_value
LSN 값 lsn_value는 binary(10)입니다.
반환 형식
binary(10)
주의
이 함수에 의해 반환된 LSN 값은 지정된 값보다 항상 크며 두 값 사이에는 LSN 값이 없습니다.
시간에 따른 변경 데이터 스트림을 체계적으로 쿼리하려면 쿼리 함수 호출을 주기적으로 반복하면서 각 호출 시 쿼리에서 반환되는 변경을 제한하는 새 쿼리 간격을 지정하면 됩니다. 데이터 손실을 방지하기 위해 이전 쿼리의 상한을 사용하여 후속 쿼리의 하한을 생성하는 경우가 많습니다. 쿼리 간격은 닫힌 간격이므로 새 하한은 이전 상한보다 큰 동시에 LSN 값이 이 값과 이전 상한 사이에 있는 변경이 없을 만큼 작아야 합니다. sys.fn_cdc_increment_lsn 함수는 이 값을 얻는 데 사용됩니다.
사용 권한
public 데이터베이스 역할의 멤버 자격이 필요합니다.
예
다음 예에서는 sys.fn_cdc_increment_lsn을 사용하여 이전 쿼리에 저장된 상한 및 @save\_to\_lsn 변수에 저장된 상한을 기준으로 변경 데이터 캡처 쿼리에 대한 새 하한 값을 생성합니다.
USE AdventureWorks2012;
GO
DECLARE @from_lsn binary(10), @to_lsn binary(10), @save_to_lsn binary(10);
SET @save_to_lsn = <previous_upper_bound_value>;
SET @from_lsn = sys.fn_cdc_increment_lsn(@save_to_lsn);
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_decrement_lsn(Transact-SQL)
cdc.fn_cdc_get_all_changes_<capture_instance>(Transact-SQL)
cdc.fn_cdc_get_net_changes_<capture_instance>(Transact-SQL)