적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
분석 플랫폼 시스템(PDW)
Microsoft Fabric의 SQL 분석 엔드포인트
Microsoft Fabric의 웨어하우스
Microsoft Fabric의 SQL 데이터베이스
동적 관리 뷰는 sys.dm_tran_database_transactions 데이터베이스 수준에서 트랜잭션에 관한 정보를 반환합니다.
| 열 이름 | 데이터 형식 | 설명 |
|---|---|---|
transaction_id |
bigint | 데이터베이스 수준이 아닌 인스턴스 수준의 트랜잭션 ID입니다. 인스턴스 내의 모든 데이터베이스에서만 고유하지만 모든 서버 인스턴스에서 고유하지는 않습니다. |
database_id |
int | 트랜잭션과 연결된 데이터베이스의 ID입니다. Azure SQL Database에서 값은 단일 데이터베이스 또는 탄력적 풀 내에서 고유하지만 논리 서버 내에는 고유하지 않습니다. |
database_transaction_begin_time |
날짜/시간 | 트랜잭션에 데이터베이스가 관련된 시간입니다. 특히 트랜잭션에 대한 데이터베이스의 첫 번째 로그 레코드 시간입니다. |
database_transaction_type |
int | 1 = 읽기/쓰기 트랜잭션 2 = 읽기 전용 트랜잭션 3 = 시스템 트랜잭션 |
database_transaction_state |
int | 1 = 트랜잭션이 초기화되지 않았습니다. 3 = 트랜잭션이 초기화되었지만 로그 레코드를 생성하지 않았습니다. 4 = 트랜잭션이 로그 레코드를 생성했습니다. 5 = 트랜잭션이 준비되었습니다. 10 = 트랜잭션을 커밋했습니다. 11 = 트랜잭션이 롤백되었습니다. 12 = 트랜잭션이 커밋되고 있습니다. (로그 레코드는 생성되고 있지만 구체화되거나 지속되지 않습니다.) |
database_transaction_status |
int | 정보를 제공하기 위해서만 확인됩니다. 지원 안 됨. 향후 호환성은 보장되지 않습니다. |
database_transaction_status2 |
int | 정보를 제공하기 위해서만 확인됩니다. 지원 안 됨. 향후 호환성은 보장되지 않습니다. |
database_transaction_log_record_count |
bigint |
적용 대상: SQL Server 2008(10.0.x) 이상 버전 데이터베이스에 생성된 트랜잭션의 로그 레코드 수입니다. |
database_transaction_replicate_record_count |
int |
적용 대상: SQL Server 2008(10.0.x) 이상 버전 복제된 트랜잭션에 대해 데이터베이스에서 생성된 로그 레코드 수입니다. |
database_transaction_log_bytes_used |
bigint |
적용 대상: SQL Server 2008(10.0.x) 이상 버전 트랜잭션에 대한 데이터베이스 로그에서 지금까지 사용된 바이트 수입니다. |
database_transaction_log_bytes_reserved |
bigint |
적용 대상: SQL Server 2008(10.0.x) 이상 버전 트랜잭션의 데이터베이스 로그에 사용하도록 예약된 바이트 수입니다. |
database_transaction_log_bytes_used_system |
int |
적용 대상: SQL Server 2008(10.0.x) 이상 버전 지금까지 트랜잭션 대신 시스템 트랜잭션의 데이터베이스 로그에 사용된 바이트 수입니다. |
database_transaction_log_bytes_reserved_system |
int |
적용 대상: SQL Server 2008(10.0.x) 이상 버전 트랜잭션을 대신하여 시스템 트랜잭션에 대해 데이터베이스 로그에 사용하도록 예약된 바이트 수입니다. |
database_transaction_begin_lsn |
numeric(25,0) |
적용 대상: SQL Server 2008(10.0.x) 이상 버전 데이터베이스 로그에서 트랜잭션에 대한 시작 레코드의 LSN(로그 시퀀스 번호)입니다. |
database_transaction_last_lsn |
numeric(25,0) |
적용 대상: SQL Server 2008(10.0.x) 이상 버전 데이터베이스 로그의 트랜잭션에 대해 가장 최근에 기록된 레코드의 LSN입니다. |
database_transaction_most_recent_savepoint_lsn |
numeric(25,0) |
적용 대상: SQL Server 2008(10.0.x) 이상 버전 데이터베이스 로그의 트랜잭션에 대한 가장 최근 저장점의 LSN입니다. |
database_transaction_commit_lsn |
numeric(25,0) |
적용 대상: SQL Server 2008(10.0.x) 이상 버전 데이터베이스 로그의 트랜잭션에 대한 커밋 로그 레코드의 LSN입니다. |
database_transaction_last_rollback_lsn |
numeric(25,0) |
적용 대상: SQL Server 2008(10.0.x) 이상 버전 가장 최근에 롤백된 LSN. 롤백이 발생하지 않은 경우 값은 MaxLSN입니다. |
database_transaction_next_undo_lsn |
numeric(25,0) |
적용 대상: SQL Server 2008(10.0.x) 이상 버전 실행 취소할 다음 레코드의 LSN입니다. |
pdw_node_id |
int |
적용 대상: Azure Synapse Analytics, Analytics Platform System(PDW) 이 배포가 있는 노드의 식별자입니다. |
database_transaction_first_repl_lsn |
numeric(25,0) |
적용 대상: Azure Synapse Analytics, Analytics Platform System(PDW) 복제가 필요한 트랜잭션 내 첫 번째 로그 레코드의 LSN입니다. |
사용 권한
SQL Server 및 SQL Managed Instance에서는 VIEW SERVER STATE 권한이 필요합니다.
Microsoft Fabric에서는 쿼리를 위해 sys.dm_tran_database_transactions기여자작업 공간 역할 또는 더 높은 권한 역할의 멤버십이 필요합니다.
SQL Database Basic, S0 및 S1 서비스 목표 또는 탄력적 풀 내의 데이터베이스에 대해서는 서버 관리자 계정, Microsoft Entra 관리자 계정 또는 ##MS_ServerStateReader##서버 역할의 멤버 자격이 필요합니다. 다른 모든 SQL Database 서비스 목표에 대해서는 데이터베이스에 대한 VIEW DATABASE STATE 권한 또는 ##MS_ServerStateReader## 서버 역할의 멤버 자격이 필요합니다.
SQL Server 2022 이상에 대한 사용 권한
서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.
비고
Azure Synapse Analytics 또는 Analytics Platform System(PDW sys.dm_pdw_nodes_tran_database_transactions )에서 이 DMV를 호출하려면 이 문법은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.