sys.dm_tran_transactions_snapshot
업데이트: 2005년 12월 5일
각 스냅숏 트랜잭션이 시작될 때 활성 상태인 트랜잭션의 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 |
스냅숏 트랜잭션 시작 당시 활성화된 트랜잭션의 트랜잭션 시퀀스 번호입니다. |
주의
스냅숏 트랜잭션이 시작될 때 데이터베이스 엔진은 해당 시점에 활성 상태인 모든 트랜잭션을 기록합니다. sys.dm_tran_transactions_snapshot은 현재 활성 상태인 모든 스냅숏 트랜잭션에 대해 이 정보를 보고합니다.
각 트랜잭션은 트랜잭션이 시작될 때 할당된 트랜잭션 시퀀스 번호로 식별됩니다. 트랜잭션은 BEGIN TRANSACTION 또는 BEGIN WORK 문이 실행될 때 시작됩니다. 그러나 데이터베이스 엔진은 BEGIN TRANSACTION 또는 BEGIN WORK 문 이후 데이터에 액세스하는 첫 번째 Transact-SQL 문을 실행할 때 트랜잭션 시퀀스 번호를 할당합니다. 트랜잭션 시퀀스 번호는 1씩 증가합니다.
사용 권한
서버에 대한 VIEW SERVER STATE 권한이 필요합니다.
참고 항목
참조
동적 관리 뷰 및 함수
트랜잭션 관련 동적 관리 뷰 및 함수
도움말 및 정보
변경 내역
릴리스
내역
2005년 12월 5일
용어
정의
변경된 내용
- 이 동적 관리 뷰의 용도에 대한 정보를 포함하도록 소개 섹션을 보강했습니다.
- 트랜잭션 시퀀스 번호 할당에 대한 명확한 설명을 위해 주의 섹션을 보강했습니다.