Freigeben über


sys.dm_tran_database_transactions (Transact-SQL)

Gilt für:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Datenbank in Microsoft Fabric

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 Pools für elastische Datenbanken 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 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.

Nächste Schritte