sys.dm_tran_database_transactions (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Gibt Informationen zu Transaktionen auf Datenbankebene zurück.

Hinweis

Um diesen DMV aus Azure Synapse Analytics oder Analytics Platform System (PDW) aufzurufen, verwenden Sie den Namen sys.dm_pdw_nodes_tran_database_transactions. Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.

Spaltenname Datentyp Beschreibung
transaction_id bigint ID der Transaktion auf Instanzebene, nicht auf Datenbankebene. Diese ist nur in allen Datenbanken innerhalb einer Instanz eindeutig, nicht jedoch innerhalb aller Serverinstanzen.
database_id int ID der Datenbank, die der Transaktion zugeordnet ist.

In Azure SQL-Datenbank sind die Werte innerhalb einer einzelnen Datenbank oder eines elastischen Pools eindeutig, aber nicht innerhalb eines logischen Servers.
database_transaction_begin_time datetime Zeitpunkt, zu dem die Datenbank in die Transaktion aufgenommen wurde. Genauer gesagt: Dies ist die Zeit des ersten Protokolldatensatzes in der Datenbank für die Transaktion.
database_transaction_type int 1 = Lese-/Schreibtransaktion

2 = Schreibgeschützte Transaktion

3 = Systemtransaktion
database_transaction_state int 1 = Die Transaktion wurde nicht initialisiert.

3 = Die Transaktion wurde initialisiert, hat jedoch keine Protokolldatensätze generiert.

4 = Die Transaktion hat Protokolldatensätze generiert.

5 = Die Transaktion wurde vorbereitet.

10 = Für die Transaktion wurde ein Commit ausgeführt.

11 = Für die Transaktion wurde ein Rollback ausgeführt.

12 = Für die Transaktion wird ein Commit ausgeführt. (Der Protokolldatensatz wird generiert, wurde aber nicht materialisiert oder beibehalten.)
database_transaction_status int Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
database_transaction_status2 int Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
database_transaction_log_record_count bigint Gilt für: SQL Server 2008 (10.0.x) und höher.

Anzahl der Protokolldatensätze, die in der Datenbank für die Transaktion generiert wurden.
database_transaction_replicate_record_count int Gilt für: SQL Server 2008 (10.0.x) und höher.

Die Anzahl der in der Datenbank generierten Protokolldatensätze für die replizierte Transaktion.
database_transaction_log_bytes_used bigint Gilt für: SQL Server 2008 (10.0.x) und höher.

Anzahl von Bytes, die bisher im Datenbankprotokoll für die Transaktion verwendet wurden.
database_transaction_log_bytes_reserved bigint Gilt für: SQL Server 2008 (10.0.x) und höher.

Anzahl von Bytes, die zur Verwendung im Datenbankprotokoll für die Transaktion reserviert wurden.
database_transaction_log_bytes_used_system int Gilt für: SQL Server 2008 (10.0.x) und höher.

Anzahl von Bytes, die im Datenbankprotokoll für Systemtransaktionen bisher für diese Transaktion verwendet wurden.
database_transaction_log_bytes_reserved_system int Gilt für: SQL Server 2008 (10.0.x) und höher.

Anzahl von Bytes, die im Datenbankprotokoll für Systemtransaktionen zur Verwendung für diese Transaktion reserviert wurden.
database_transaction_begin_lsn numeric(25,0) Gilt für: SQL Server 2008 (10.0.x) und höher.

Protokollfolgenummer (Log Sequence Number, LSN) des ersten Datensatzes für die Transaktion im Datenbankprotokoll.
database_transaction_last_lsn numeric(25,0) Gilt für: SQL Server 2008 (10.0.x) und höher.

LSN des zuletzt protokollierten Datensatzes für die Transaktion im Datenbankprotokoll.
database_transaction_most_recent_savepoint_lsn numeric(25,0) Gilt für: SQL Server 2008 (10.0.x) und höher.

LSN des letzten Sicherungspunktes für die Transaktion im Datenbankprotokoll.
database_transaction_commit_lsn numeric(25,0) Gilt für: SQL Server 2008 (10.0.x) und höher.

LSN des Protokolldatensatzes für den Commit der Transaktion im Datenbankprotokoll.
database_transaction_last_rollback_lsn numeric(25,0) Gilt für: SQL Server 2008 (10.0.x) und höher.

LSN, zu der das letzte Rollback ausgeführt wurde. Wenn kein Rollback ausgeführt wurde, lautet der Wert "MaxLSN".
database_transaction_next_undo_lsn numeric(25,0) Gilt für: SQL Server 2008 (10.0.x) und höher.

LSN des nächsten Datensatzes, der rückgängig gemacht werden soll.
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.
database_transaction_first_repl_lsn numeric(25,0) Gilt für: Azure Synapse Analytics, Analytics Platform System (PDW)

LSN des ersten Protokolldatensatzes in der Transaktion, die Replikation benötigt.

Berechtigungen

Für SQL Server und SQL Managed Instance ist die VIEW SERVER STATE-Berechtigung erforderlich.

Für SQL-Datenbank Standard-, S0- und S1-Dienstziele sowie für Datenbanken in elastischen Pools ist das Serveradministratorkonto, das Microsoft Entra-Administratorkonto 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.

Nächste Schritte