Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Die sys.dm_tran_active_transactions dynamische Management-Ansicht liefert Informationen zu Transaktionen für die Instanz.
| Spaltenname | Datentyp | Beschreibung |
|---|---|---|
transaction_id |
bigint | ID der Transaktion auf Instanzebene, nicht auf Datenbankebene. Die ID ist nur für alle Datenbanken in einer Instanz eindeutig, jedoch nicht für alle Serverinstanzen. |
name |
nvarchar(32) | Transaktionsname. Bei Markierung der Transaktion wird der Transaktionsname überschrieben und durch den markierten Namen ersetzt. |
transaction_begin_time |
datetime | Uhrzeit des Transaktionsbeginns. |
transaction_type |
int | Transaktionstyp. 1 = Lese-/Schreibtransaktion 2 = Schreibgeschützte Transaktion 3 = Systemtransaktion 4 = Verteilte Transaktion |
transaction_uow |
uniqueidentifier | Arbeitseinheits-Bezeichner (Unit of Work, UOW) für verteilte Transaktionen. Der Microsoft Distributed Transaction Coordinator (MS DTC) verwendet die UOW-Kennung, um mit der verteilten Transaktion zu arbeiten. |
transaction_state |
int | 0 = Die Transaktion wurde noch nicht vollständig initialisiert. 1 = Die Transaktion wurde initialisiert, aber nicht gestartet. 2 = Die Transaktion ist aktiv. 3 = Die Transaktion wurde beendet. Für Schreibschutz-Transaktionen verwendet. 4 = Der Commitprozess wurde für die verteilte Transaktion initiiert. Nur für verteilte Transaktionen. Die verteilte Transaktion ist noch aktiv, doch ist keine weitere Verarbeitung möglich. 5 = Die Transaktion hat den Status 'Vorbereitet' und wartet auf Auflösung. 6 = Die Transaktion wurde zugesichert. 7 = Es wird ein Rollback für die Transaktion durchgeführt. 8 = Die Transaktion wurde zurückgesetzt. |
transaction_status |
int | Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt. |
transaction_status2 |
int | Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt. |
dtc_state |
int |
Gilt für: Azure SQL-Datenbank. 1 = AKTIV 2 = VORBEREITET 3 = VERPFLICHTET 4 = ABGEBRACHT 5 = WIEDERHERGESTELLT |
dtc_status |
int | Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt. |
dtc_isolation_level |
int | Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt. |
filestream_transaction_id |
varbinary(128) |
Gilt für: Azure SQL-Datenbank. Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt. |
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.
In Microsoft Fabric ist eine Mitgliedschaft in der Rolle Contributorworkspace oder einer höher privilegierten Rolle erforderlich, um abzufragen sys.dm_tran_active_transactions.
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.
Bemerkungen
Um diese dynamische Verwaltungsansicht aus Azure Synapse Analytics oder Analytics Platform System (PDW) aufzurufen, verwenden Sie den Namen sys.dm_pdw_nodes_tran_active_transactions Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.
Beispiele
A. Nutzen Sie sys.dm_tran_active_transactions mit anderen DMVs, um Informationen über aktive Transaktionen zu finden
Das folgende Beispiel zeigt alle aktiven Transaktionen im System. Die Abfrage liefert detaillierte Informationen über die Transaktion, die Benutzersitzung, die eingereichte Anwendung sowie die Anfrage, die sie gestartet hat, und viele weitere.
SELECT
GETDATE() as now,
DATEDIFF(SECOND, transaction_begin_time, GETDATE()) as tran_elapsed_time_seconds,
st.session_id,
txt.text,
*
FROM
sys.dm_tran_active_transactions at
INNER JOIN sys.dm_tran_session_transactions st ON st.transaction_id = at.transaction_id
LEFT OUTER JOIN sys.dm_exec_sessions sess ON st.session_id = sess.session_id
LEFT OUTER JOIN sys.dm_exec_connections conn ON conn.session_id = sess.session_id
OUTER APPLY sys.dm_exec_sql_text(conn.most_recent_sql_handle) AS txt
ORDER BY
tran_elapsed_time_seconds DESC;