sys.database_ledger_transactions(Transact-SQL)

적용 대상: SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed Instance

데이터베이스의 원장 테이블에 대한 데이터베이스 트랜잭션의 암호화로 보호된 기록을 캡처합니다. 이 보기의 행은 데이터베이스 트랜잭션을 나타냅니다.

데이터베이스 원장에 관한 자세한 내용은 원장을 참조하세요.

열 이름 데이터 형식 설명
transaction_id bigint 데이터베이스에 대해 고유한 트랜잭션 ID입니다(데이터베이스 트랜잭션 로그의 트랜잭션 ID에 해당).
block_id bigint 행을 식별하는 시퀀스 번호입니다.
transactional_ordinal int 블록 내 트랜잭션의 오프셋입니다.
commit_time datetime2(7) 커밋 트랜잭션의 시간입니다.
principal_name sysname 트랜잭션을 시작한 사용자의 이름입니다. ORIGINAL_LOGIN()을 호출하여 캡처합니다.
table_hashes varbinary(max) 이것은 이진 형식으로 저장된 키-값 쌍 집합입니다. 키는 트랜잭션에 의해 수정된 원장 데이터베이스 테이블의 개체 ID(sys.objects)입니다. 각 값은 트랜잭션이 생성되거나 무효화된 모든 행 버전의 SHA-256 해시입니다.

이 행에 저장된 데이터의 이진 형식: <version><length>[<key><value>]. 여기서

- version - 인코딩 버전을 나타냅니다. 길이: 1 바이트.
- length - 키-값 쌍 목록의 항목 수입니다. 길이: 1 바이트.
- key - 개체 ID입니다. 길이: 4바이트.
- value - 개체 ID가 키로 저장된 테이블에 트랜잭션이 캐시된 행의 해시입니다. 길이: 32 바이트.

사용 권한

원장 콘텐츠 보기 권한이 필요합니다.

참고 항목