Freigeben über


sys.dm_tran_database_transactions (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Analyseendpunkt in Microsoft FabricLagerhaus in Microsoft FabricSQL-Datenbank in Microsoft Fabric

Die sys.dm_tran_database_transactions dynamische Management-Ansicht liefert Informationen über Transaktionen auf Datenbankebene.

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 Protokoll wird zwar generiert, aber nicht materialisiert oder gespeichert.)
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öhere Versionen

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öhere Versionen

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öhere Versionen

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öhere Versionen

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öhere Versionen

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öhere Versionen

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öhere Versionen

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öhere Versionen

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öhere Versionen

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öhere Versionen

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öhere Versionen

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öhere Versionen

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 Logdatensatzes in der Transaktion, der repliziert werden muss.

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_database_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 dieses 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.