sys.dm_tran_database_transactions(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
데이터베이스 수준에서 트랜잭션에 대한 정보를 반환합니다.
참고 항목
Azure Synapse Analytics 또는 PDW(Analytics Platform System)에서 이 DMV를 호출하려면 이름 sys.dm_pdw_nodes_tran_database_transactions 사용합니다. 이 구문은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
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
권한이 필요합니다.
SQL Database Basic, S0 및 S1 서비스 목표 또는 탄력적 풀 내의 데이터베이스에 대해서는 서버 관리자 계정, Microsoft Entra 관리자 계정 또는 ##MS_ServerStateReader##
서버 역할의 멤버 자격이 필요합니다. 다른 모든 SQL Database 서비스 목표에 대해서는 데이터베이스에 대한 VIEW DATABASE STATE
권한 또는 ##MS_ServerStateReader##
서버 역할의 멤버 자격이 필요합니다.
SQL Server 2022 이상에 대한 사용 권한
서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.