sys.dm_tran_session_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)에서 이를 호출하려면 이름을 sys.dm_pdw_nodes_tran_session_transactions
사용합니다. 이 구문은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
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, Analytics Platform System(PDW) 이 배포가 있는 노드의 식별자입니다. |
사용 권한
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 권한이 필요합니다.
설명
바인딩된 세션 및 분산 트랜잭션을 통해 트랜잭션이 둘 이상의 세션에서 실행될 수 있습니다. 이러한 경우 트랜잭션이 sys.dm_tran_session_transactions
실행 중인 각 세션에 대해 하나씩 동일한 transaction_id
행에 대해 여러 행을 표시합니다. 기록 open_transaction_count
되는 방식의 차이로 인해 .open_transaction_count
가 일치하지 sys.dm_exec_sessions
않을 수 있습니다.
MARS(여러 활성 결과 집합)를 사용하여 자동 커밋 모드에서 여러 요청을 실행하면 단일 세션에서 둘 이상의 활성 트랜잭션을 가질 수 있습니다. 이러한 경우 sys.dm_tran_session_transactions
해당 세션에서 실행되는 각 트랜잭션에 대해 하나씩 동일한 session_id
행에 대해 여러 행을 표시합니다.