다음을 통해 공유


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, S0S1 서비스 목표 또는 탄력적 풀 내의 데이터베이스에 대해서는 서버 관리자 계정, Microsoft Entra 관리자 계정 또는 ##MS_ServerStateReader## 서버 역할의 멤버 자격이 필요합니다. 다른 모든 SQL Database 서비스 목표에 대해서는 데이터베이스에 대한 VIEW DATABASE STATE 권한 또는 ##MS_ServerStateReader## 서버 역할의 멤버 자격이 필요합니다.

SQL Server 2022 이상에 대한 사용 권한

서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.

다음 단계