sys.dm_tran_database_transactions(Transact-SQL)

적용 대상: SQL Server(지원되는 모든 버전) Azure SQL Database 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 풀에서 지원되지 않습니다.

열 이름 데이터 형식 Description
transaction_id bigint 데이터베이스 수준이 아닌 인스턴스 수준의 트랜잭션 ID입니다. 이 ID는 한 인스턴스 내의 모든 데이터베이스에서 고유하지만 모든 서버 인스턴스에서 고유하지는 않습니다.
database_id int 트랜잭션과 관련된 데이터베이스의 ID입니다.
database_transaction_begin_time datetime 트랜잭션에 데이터베이스가 관련된 시간입니다. 특히 트랜잭션에 대한 데이터베이스의 첫 번째 로그 레코드 시간입니다.
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 이상

데이터베이스에 생성된 트랜잭션의 로그 레코드 수입니다.
database_transaction_replicate_record_count int 적용 대상: SQL Server 2008 이상

복제된 트랜잭션에 대해 데이터베이스에서 생성된 로그 레코드 수입니다.
database_transaction_log_bytes_used bigint 적용 대상: SQL Server 2008 이상

지금까지 트랜잭션의 데이터베이스 로그에 사용된 바이트 수입니다.
database_transaction_log_bytes_reserved bigint 적용 대상: SQL Server 2008 이상

트랜잭션의 데이터베이스 로그에 사용하도록 예약된 바이트 수입니다.
database_transaction_log_bytes_used_system int 적용 대상: SQL Server 2008 이상

지금까지 트랜잭션 대신 시스템 트랜잭션의 데이터베이스 로그에 사용된 바이트 수입니다.
database_transaction_log_bytes_reserved_system int 적용 대상: SQL Server 2008 이상

트랜잭션 대신 시스템 트랜잭션의 데이터베이스 로그에 사용하도록 예약된 바이트 수입니다.
database_transaction_begin_lsn numeric(25,0) 적용 대상: SQL Server 2008 이상

데이터베이스 로그에서 트랜잭션 시작 레코드의 LSN(로그 시퀀스 번호)입니다.
database_transaction_last_lsn numeric(25,0) 적용 대상: SQL Server 2008 이상

데이터베이스 로그에서 가장 최근에 기록된 트랜잭션 레코드의 LSN입니다.
database_transaction_most_recent_savepoint_lsn numeric(25,0) 적용 대상: SQL Server 2008 이상

데이터베이스 로그에서 가장 최근 트랜잭션 저장점의 LSN입니다.
database_transaction_commit_lsn numeric(25,0) 적용 대상: SQL Server 2008 이상

데이터베이스 로그에서 트랜잭션 커밋 로그 레코드의 LSN입니다.
database_transaction_last_rollback_lsn numeric(25,0) 적용 대상: SQL Server 2008 이상

가장 최근에 롤백된 LSN입니다. 롤백이 수행되지 않은 경우 값은 MaxLSN입니다.
database_transaction_next_undo_lsn numeric(25,0) 적용 대상: SQL Server 2008 이상

실행 취소할 다음 레코드의 LSN입니다.
pdw_node_id int 적용 대상: Azure Synapse Analytics, 분석 플랫폼 시스템(PDW)

이 배포가 있는 노드의 식별자입니다.

사용 권한

SQL Server 및 SQL Managed Instance에서는 VIEW SERVER STATE 권한이 필요합니다.

SQL Database Basic, S0S1 서비스 목표 또는 탄력적 풀 내의 데이터베이스에 대해서는 서버 관리자 계정, Azure Active Directory 관리자 계정 또는 ##MS_ServerStateReader##서버 역할 멤버 자격이 필요합니다. 다른 모든 SQL Database 서비스 목표에 대해서는 데이터베이스에 대한 VIEW DATABASE STATE 권한 또는 ##MS_ServerStateReader## 서버 역할의 멤버 자격이 필요합니다.

참고 항목

sys.dm_tran_active_transactions(Transact-SQL)
sys.dm_tran_session_transactions(Transact-SQL)
동적 관리 뷰 및 함수(Transact-SQL)
트랜잭션 관련 동적 관리 뷰 및 함수(Transact-SQL)