Delen via


sys.dm_tran_session_transactions (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

De sys.dm_tran_session_transactions dynamische beheerweergave geeft correlatie-informatie terug voor bijbehorende transacties en sessies.

Kolomnaam Gegevenstype Description
session_id int ID van de sessie waaronder de transactie draait.
transaction_id bigint ID van de transactie.
transaction_descriptor binary(8) Transactie-identificatie die door SQL Server wordt gebruikt bij communicatie met de clientdriver.
enlist_count int Aantal actieve verzoeken in de sessie dat aan de transactie werkt.
is_user_transaction bit 1 = De transactie werd geïnitieerd door een gebruikersverzoek.

0 = Systeemtransactie.
is_local bit 1 = Lokale transactie.

0 = Gedistribueerde transactie of een gebonden sessietransactie voor de ingelijfde.
is_enlisted bit 1 = Genoteerde gedistribueerde transactie.

0 = Geen gedistribueerde transactie van de enlisted retrievers.
is_bound bit 1 = De transactie is actief in de sessie via gebonden sessies.

0 = De transactie is niet actief in de sessie via gebonden sessies.
open_transaction_count int Het aantal openstaande transacties per sessie.
pdw_node_id int Van toepassing op: Azure Synapse Analytics, Analytics Platform System (PDW)

De id voor het knooppunt waarop deze distributie zich bevindt.

Permissions

Voor SQL Server en SQL Managed Instance is een machtiging vereist VIEW SERVER STATE .

In Microsoft Fabric is lidmaatschap van de Contributor-workspacerol of de meer privilegede rol vereist om te kunnen queryënsys.dm_tran_session_transactions.

Voor servicedoelstellingen van SQL Database Basic, S0 en S1 en voor databases in elastische pools is het serverbeheerdersaccount , het Microsoft Entra-beheerdersaccount of het lidmaatschap van de ##MS_ServerStateReader##serverrol vereist. Voor alle andere SQL Database-servicedoelstellingen is de VIEW DATABASE STATE machtiging voor de database of het lidmaatschap van de ##MS_ServerStateReader## serverfunctie vereist.

Machtigingen voor SQL Server 2022 en hoger

Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.

Opmerkingen

Door gebonden sessies en gedistribueerde transacties is het mogelijk dat een transactie onder meer dan één sessie draait. In zulke gevallen toont meerdere sys.dm_tran_session_transactions rijen voor dezelfde transaction_id, één voor elke sessie waaronder de transactie draait. Door verschillen in de manier waarop ze worden vastgelegd, open_transaction_count kunnen ze misschien niet overeenkomen sys.dm_exec_sessions.open_transaction_count.

Door meerdere verzoeken in autocommit-modus uit te voeren met meerdere actieve resultaatsets (MARS), is het mogelijk om meer dan één actieve transactie per sessie te hebben. In zulke gevallen toont meerdere sys.dm_tran_session_transactions rijen voor dezelfde session_id, één voor elke transactie die onder die sessie draait.

Om te bellen vanuit Azure Synapse Analytics of Analytics Platform System (PDW), gebruik de naam sys.dm_pdw_nodes_tran_session_transactions. Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in Azure Synapse Analytics.