sys.database_ledger_transactions(Transact-SQL)
적용 대상: SQL Server 2022(16.x) Azure SQL 데이터베이스 Azure 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 바이트. |
사용 권한
원장 콘텐츠 보기 권한이 필요합니다.