다음을 통해 공유


sys.dm_tran_session_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)에서 이를 호출하려면 이름을 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, S0S1 서비스 목표 및 탄력적 풀의 데이터베이스에는 서버 관리자 계정, 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행에 대해 여러 행을 표시합니다.

다음 단계