다음을 통해 공유


sys.dm_tran_transactions_snapshot(Transact-SQL)

각 스냅숏 트랜잭션이 시작될 때 활성 상태인 트랜잭션의 sequence_number에 대한 가상 테이블을 반환합니다. 이 뷰에서 반환되는 정보는 다음 작업을 수행하는 데 도움이 됩니다.

  • 현재 활성 스냅숏 트랜잭션 수를 찾습니다.

  • 특정 스냅숏 트랜잭션에서 무시하는 데이터 수정 내용을 식별합니다. 스냅숏 트랜잭션이 시작될 때 활성 상태인 트랜잭션의 경우 트랜잭션이 커밋된 후에도 스냅숏 트랜잭션이 해당 트랜잭션에 의한 데이터 수정 내용을 모두 무시합니다.

예를 들어 다음과 같은 sys.dm_tran_transactions_snapshot의 출력을 살펴 보십시오.

transaction_sequence_num snapshot_id snapshot_sequence_num
------------------------ ----------- ---------------------
59                       0           57
59                       0           58
60                       0           57
60                       0           58
60                       0           59
60                       3           57
60                       3           58
60                       3           59
60                       3           60

transaction_sequence_num 열은 현재 스냅숏 트랜잭션의 XSN(트랜잭션 시퀀스 번호)을 식별합니다. 이 출력은 59와 60의 두 개 XSN을 표시합니다. snapshot_sequence_num 열은 각 스냅숏 트랜잭션이 시작될 때 활성 상태인 트랜잭션의 트랜잭션 시퀀스 번호를 식별합니다.

이 출력은 두 개의 활성 트랜잭션인 XSN-57과 XSN-58이 실행되는 동안 스냅숏 트랜잭션 XSN-59가 시작됨을 보여 줍니다. XSN-57 또는 XSN-58에서 데이터를 수정할 경우 XSN-59는 이 변경 내용을 무시하고 행 버전 관리를 사용하여 트랜잭션이 일관된 데이터베이스 뷰를 유지 관리합니다.

스냅숏 트랜잭션 XSN-60은 XSN-57 및 XSN-58은 물론 XSN 59에 의한 데이터 수정 내용도 무시합니다.

구문

dm_tran_transactions_snapshot

반환된 테이블

열 이름

데이터 형식

설명

transaction_sequence_num

bigint

스냅숏 트랜잭션의 XSN(트랜잭션 시퀀스 번호)입니다.

snapshot_id

int

행 버전 관리를 사용하여 커밋된 읽기 스냅숏으로 시작된 각 Transact-SQL 문의 스냅숏 ID입니다. 이 값은 행 버전 관리를 사용하여 커밋된 읽기로 실행되는 각 쿼리를 지원하는 트랜잭션이 일관된 데이터베이스 뷰를 생성하는 데 사용됩니다.

snapshot_sequence_num

bigint

스냅숏 트랜잭션 시작 당시 활성화된 트랜잭션의 트랜잭션 시퀀스 번호입니다.

사용 권한

서버에 대한 VIEW SERVER STATE 권한이 필요합니다.

주의

스냅숏 트랜잭션이 시작될 때 데이터베이스 엔진은 해당 시점에 활성 상태인 모든 트랜잭션을 기록합니다. sys.dm_tran_transactions_snapshot은 현재 활성 상태인 모든 스냅숏 트랜잭션에 대해 이 정보를 보고합니다.

각 트랜잭션은 트랜잭션이 시작될 때 할당된 트랜잭션 시퀀스 번호로 식별됩니다. 트랜잭션은 BEGIN TRANSACTION 또는 BEGIN WORK 문이 실행될 때 시작됩니다. 그러나 데이터베이스 엔진은 BEGIN TRANSACTION 또는 BEGIN WORK 문 이후 데이터에 액세스하는 첫 번째 Transact-SQL 문을 실행할 때 트랜잭션 시퀀스 번호를 할당합니다. 트랜잭션 시퀀스 번호는 1씩 증가합니다.

참고 항목

참조

동적 관리 뷰 및 함수(Transact-SQL)

트랜잭션 관련 동적 관리 뷰 및 함수(Transact-SQL)