적용 대상:SQL 서버
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft Fabric
의 SQL 분석 엔드포인트Microsoft Fabric
의 웨어하우스Microsoft Fabric의 SQL 데이터베이스
동적 관리 뷰는 sys.dm_tran_session_transactions 관련 트랜잭션과 세션에 대한 상관관계 정보를 반환합니다.
| 열 이름 | 데이터 형식 | Description |
|---|---|---|
session_id |
int | 트랜잭션을 실행하고 있는 세션의 ID입니다. |
transaction_id |
bigint | 트랜잭션의 ID입니다. |
transaction_descriptor |
binary(8) | 클라이언트 드라이버와 통신할 때 SQL Server에서 사용하는 트랜잭션 식별자입니다. |
enlist_count |
int | 트랜잭션에서 작업하는 세션의 활성 요청 수입니다. |
is_user_transaction |
bit | 1 = 사용자 요청에 의해 시작된 트랜잭션 0 = 시스템 트랜잭션 |
is_local |
bit | 1 = 로컬 트랜잭션입니다. 0 = 분산 트랜잭션 또는 인리스트먼트된 바인딩된 세션 트랜잭션입니다. |
is_enlisted |
bit | 1 = 등록 분산 트랜잭션입니다. 0 = 등록된 분산 트랜잭션이 아닙니다. |
is_bound |
bit | 1 = 트랜잭션이 바운드 세션을 통해 세션에서 활성화됩니다. 0 = 트랜잭션이 바운드 세션을 통해 세션에서 활성화되지 않습니다. |
open_transaction_count |
int | 각 세션에 대해 열려 있는 트랜잭션 수입니다. |
pdw_node_id |
int |
에 적용: Azure Synapse Analytics 이 배포가 있는 노드의 식별자입니다. |
Permissions
SQL Server 및 SQL Managed Instance에서 VIEW SERVER STATE 권한이 필요합니다.
Microsoft Fabric에서는 쿼리를 위해 기여자sys.dm_tran_session_transactions 또는 더 높은 권한 역할의 멤버십이 필요합니다.
SQL Database Basic, S0및 S1 서비스 목표 및 탄력적 풀데이터베이스, 서버 관리자 계정, Microsoft Entra 관리자 계정 또는 ##MS_ServerStateReader##서버 역할 멤버 자격이 필요합니다. 다른 모든 SQL Database 서비스 목표에서 데이터베이스에 대한 VIEW DATABASE STATE 권한 또는 ##MS_ServerStateReader## 서버 역할의 멤버 자격이 필요합니다.
SQL Server 2022 이상에 대한 권한
서버에 대한 SERVER PERFORMANCE STATE 권한이 필요합니다 VIEW .
비고
바인딩 세션과 분산 트랜잭션을 통해 트랜잭션이 여러 세션에서 동시에 실행될 수 있습니다. 이러한 경우 트랜잭션이 sys.dm_tran_session_transactions 실행 중인 각 세션에 대해 하나씩 동일한 transaction_id행에 대해 여러 행을 표시합니다. 기록 open_transaction_count 방식의 차이 때문에 일치 sys.dm_exec_sessions하지 않을 수도 있습니다.open_transaction_count.
여러 개의 활성 결과 집합(MARS)을 사용하여 자동 커밋 모드에서 여러 요청을 실행함으로써 한 세션에 두 개 이상의 활성 트랜잭션을 가질 수 있습니다. 이러한 경우 sys.dm_tran_session_transactions 해당 세션에서 실행되는 각 트랜잭션에 대해 하나씩 동일한 session_id행에 대해 여러 행을 표시합니다.
Azure Synapse Analyticssys.dm_pdw_nodes_tran_session_transactions에서 호출하려면 . 이 구문은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.