sys.dm_tran_session_transactions (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Gibt Korrelationsinformationen für zugehörige Transaktionen und Sitzungen zurück.
Hinweis
Um dies von Azure Synapse Analytics oder Analytics Platform System (PDW) aufzurufen, verwenden Sie den Namen sys.dm_pdw_nodes_tran_session_transactions
. Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.
Spaltenname | Datentyp | BESCHREIBUNG |
---|---|---|
session_id | int | ID der Sitzung, unter der die Transaktion ausgeführt wird. |
transaction_id | bigint | ID der Transaktion. |
transaction_descriptor | binary(8) | Transaktionsbezeichner, der von SQL Server bei der Kommunikation mit dem Clienttreiber verwendet wird. |
enlist_count | int | Anzahl der aktiven Anforderungen in der Sitzung für die Transaktion. |
is_user_transaction | bit | 1 = Die Transaktion wurde von einer Benutzeranforderung initiiert. 0 = Systemtransaktion. |
is_local | bit | 1 = Lokale Transaktion. 0 = Verteilte Transaktion oder eine eingetragene gebundene Sitzungstransaktion. |
is_enlisted | bit | 1 = Eingetragene verteilte Transaktion. 0 = Keine eingetragene verteilte Transaktion. |
is_bound | bit | 1 = Die Transaktion ist in der Sitzung über gebundene Sitzungen aktiv. 0 = Die Transaktion ist in der Sitzung nicht über gebundene Sitzungen aktiv. |
open_transaction_count | int | Die Anzahl der offenen Transaktionen für jede Sitzung. |
pdw_node_id | int | Gilt für: Azure Synapse Analytics, Analytics Platform System (PDW) Der Bezeichner für den Knoten, auf dem sich diese Verteilung befindet. |
Berechtigungen
Für SQL Server und SQL Managed Instance ist die VIEW SERVER STATE
-Berechtigung erforderlich.
Für die SQL-Datenbank-Ziele Basic, S0 und S1 sowie für Datenbanken in Pools für elastische Datenbanken ist das Konto des Serveradministrators oder des Microsoft Entra-Administratorkontos oder die Mitgliedschaft in der ##MS_ServerStateReader##
Serverrolle erforderlich. Für alle anderen SQL-Datenbank-Dienstziele ist entweder die VIEW DATABASE STATE
-Berechtigung für die Datenbank oder die Mitgliedschaft in der ##MS_ServerStateReader##
-Serverrolle erforderlich.
Berechtigungen für SQL Server 2022 und höher
Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.
Hinweise
Über gebundene Sitzungen und verteilte Transaktionen kann eine Transaktion unter mehreren Sitzungen ausgeführt werden. In solchen Fällen sys.dm_tran_session_transactions
werden mehrere Zeilen für dasselbe transaction_id
angezeigt, eine für jede Sitzung, unter der die Transaktion ausgeführt wird. Aufgrund von Unterschieden in der Art und Weise, wie sie aufgezeichnet werden, open_transaction_count
stimmen sie möglicherweise nicht übereinsys.dm_exec_sessions
open_transaction_count
.
Durch Ausführen mehrerer Anforderungen im Autocommitmodus mithilfe mehrerer aktiver Resultsets (MARS) ist mehr als eine aktive Transaktion in einer einzigen Sitzung möglich. In solchen Fällen sys.dm_tran_session_transactions
werden mehrere Zeilen für dasselbe session_id
angezeigt, eine für jede Transaktion, die unter dieser Sitzung ausgeführt wird.