sys.dm_tran_session_transactions (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Microsoft Fabric

Den dynamiska sys.dm_tran_session_transactions hanteringsvyn returnerar korrelationsinformation för associerade transaktioner och sessioner.

Kolumnnamn Datatyp Description
session_id int ID för sessionen under vilken transaktionen körs.
transaction_id bigint ID på transaktionen.
transaction_descriptor binary(8) Transaktionsidentifierare som används av SQL Server när den kommunicerar med klientdrivrutinen.
enlist_count int Antal aktiva förfrågningar i sessionen som arbetar med transaktionen.
is_user_transaction bit 1 = Transaktionen initierades av en användarförfrågan.

0 = Systemtransaktion.
is_local bit 1 = Lokal transaktion.

0 = Distribuerad transaktion eller en bunden sessionstransaktion för värvare.
is_enlisted bit 1 = Enlisted distribuerad transaktion.

0 = Inte en distribuerad transaktion med registrerade tjänstemän.
is_bound bit 1 = Transaktionen är aktiv i sessionen via bundna sessioner.

0 = Transaktionen är inte aktiv i sessionen via bundna sessioner.
open_transaction_count int Antalet öppna transaktioner för varje session.
pdw_node_id int gäller för: Azure Synapse Analytics, Analytics Platform System (PDW)

Identifieraren för noden som den här fördelningen är på.

Permissions

På SQL Server och SQL Managed Instance kräver VIEW SERVER STATE behörighet.

I Microsoft Fabric krävs medlemskap i Contributor-arbetsytsrollen eller den mer privilegierade rollen för att söka sys.dm_tran_session_transactions.

I SQL Database Grundläggande, S0och S1 tjänstmål och för databaser i elastiska pooler, serveradministratör konto, Microsoft Entra-administratör konto eller medlemskap i ##MS_ServerStateReader##serverrollen krävs. För alla andra SQL Database-tjänstmål krävs antingen VIEW DATABASE STATE behörighet för databasen eller medlemskap i ##MS_ServerStateReader## serverrollen.

Behörigheter för SQL Server 2022 och senare

Kräver BEHÖRIGHET FÖR VISNINGSSERVERNS PRESTANDATILLSTÅND på servern.

Anmärkningar

Genom bundna sessioner och distribuerade transaktioner är det möjligt att en transaktion körs under mer än en session. I sådana fall sys.dm_tran_session_transactions visar flera rader för samma transaction_id, en för varje session under vilken transaktionen körs. På grund av skillnader i hur de spelas in, open_transaction_count kanske de inte stämmer överens sys.dm_exec_sessions.open_transaction_count.

Genom att köra flera förfrågningar i autocommit-läge med flera aktiva resultatuppsättningar (MARS) är det möjligt att ha mer än en aktiv transaktion under en och samma session. I sådana fall sys.dm_tran_session_transactions visas flera rader för samma session_id, en för varje transaktion som körs under den sessionen.

För att anropa från Azure Synapse Analytics eller Analytics Platform System (PDW), använd namnet sys.dm_pdw_nodes_tran_session_transactions. Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.