Freigeben über


DBCC OPENTRAN (Transact-SQL)

Zeigt Informationen zur ältesten aktiven Transaktion und den ältesten verteilten und nicht verteilten replizierten Transaktionen (sofern vorhanden) in der angegebenen Datenbank an. Ergebnisse werden nur dann angezeigt, wenn eine Transaktion aktiv ist oder die Datenbank Informationen zu Replikationen enthält. Wenn keine aktiven Transaktionen vorhanden sind, wird eine Informationsmeldung angezeigt.

ms182792.note(de-de,SQL.90).gifHinweis:
DBCC OPENTRAN wird für Nicht-SQL Server-Verleger nicht unterstützt.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

DBCC OPENTRAN 
[ 
        ( [ database_name | database_id | 0 ] ) ]
    { [ WITH TABLERESULTS ]
      [ , [ NO_INFOMSGS ] ]
    }
] 

Argumente

  • database_name | database_id | 0
    Der Name oder die ID der Datenbank, für die Informationen zur ältesten Transaktion angezeigt werden sollen. Wenn keine Festlegung vorgenommen oder 0 angegeben wurde, wird die aktuelle Datenbank verwendet. Datenbanknamen müssen den Regeln für Bezeichner entsprechen.
  • WITH
    Aktiviert die Angabe von Optionen.
  • TABLERESULTS
    Gibt die Ergebnisse in einem Tabellenformat an, das in eine Tabelle geladen werden kann. Verwenden Sie diese Option, um eine Tabelle mit Ergebniswerten zu erhalten, die zum Durchführen von Vergleichen in eine Tabelle eingefügt werden können. Wenn diese Option nicht angegeben ist, werden die Ergebnisse zwecks besserer Lesbarkeit formatiert.
  • NO_INFOMSGS
    Alle Informationsmeldungen werden unterdrückt.

Resultsets

DBCC OPENTRAN gibt folgendes Resultset zurück, wenn keine geöffneten Transaktionen mehr vorhanden sind:

No active open transactions.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Hinweise

Verwenden Sie DBCC OPENTRAN, um zu ermitteln, ob eine offene Transaktion innerhalb des Transaktionsprotokolls vorhanden ist. Wenn Sie die BACKUP LOG-Anweisung verwenden, kann nur der inaktive Teil des Protokolls abgeschnitten werden. Eine geöffnete Transaktion kann verhindern, dass das Protokoll vollständig abgeschnitten wird. In früheren Versionen von Microsoft SQL Server mussten sich alle Benutzer abmelden, oder der Server musste heruntergefahren und neu gestartet werden, um die Transaktionen, für die kein Commit ausgeführt wurde, aus dem Protokoll zu löschen. Zum Identifizieren einer geöffneten Transaktion können Sie mit sp_who die Systemprozess-ID abrufen.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner.

Beispiele

Im folgenden Beispiel werden Transaktionsinformationen für die aktuelle Datenbank abgerufen. Die Ergebnisse können variieren.

CREATE TABLE T1(Col1 int, Col2 char(3));
GO
BEGIN TRAN
INSERT INTO T1 VALUES (101, 'abc');
GO
DBCC OPENTRAN;
ROLLBACK TRAN;
GO
DROP TABLE T1;
GO

Dies ist das Resultset.

Transaction information for database 'master'.
Oldest active transaction:
SPID (server process ID) : 52
UID (user ID) : -1
Name          : user_transaction
LSN           : (518:1576:1)
Start time    : Jun  1 2004  3:30:07:197PM
SID           : 0x010500000000000515000000a065cf7e784b9b5fe77c87709e611500
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Siehe auch

Verweis

BEGIN TRANSACTION (Transact-SQL)
COMMIT TRANSACTION (Transact-SQL)
DBCC (Transact-SQL)
DB_ID (Transact-SQL)
ROLLBACK TRANSACTION (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005