DBCC OPENTRAN języka Transact-SQL)

Wyświetla informacje o aktywną transakcję i najstarsze rozproszonych i nondistributed replikowanych transakcji, jeśli istnieje w określonej bazie danych.Wyniki są wyświetlane tylko wtedy, gdy aktywnych transakcji, lub jeśli baza danych zawiera informacje o replikacja .Jeśli nie ma żadnych aktywnych transakcji, wyświetlany jest komunikat informacyjny.

Ostrzeżenie

DBCC OPENTRAN nie jest obsługiwana dla nie-wydawców serweraSQL .

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • database_name | database_id| 0
    To nazwa lub identyfikator bazy danych, dla którego należy wyświetlić najstarsze informacje o transakcji.Jeśli nie określono lub określono wartość 0, bieżąca baza danych jest używany.Nazwy bazy danych muszą być zgodne z zasadami identyfikatorów.

  • TABLERESULTS
    Określa wyniki w formacie tabelarycznym, który może być załadowany do tabela.Ta opcja umożliwia utworzenie tabela wyniki mogą być wstawiane do tabela dla porównań.Ta opcja nie jest określony, wyniki są formatowane dla czytelności.

  • NO_INFOMSGS
    Pomija wszystkie komunikaty informacyjne.

Uwagi

DBCC OPENTRAN umożliwia określenie, czy istnieje otwartych transakcji w dzienniku transakcji.Podczas korzystania z kopii zapasowej dziennika instrukcjanieaktywny część dziennika mogą być skrócone; otwartych transakcji można zapobiec całkowicie obcinania dziennika.Aby zidentyfikować otwartej transakcji, należy użyć sp_who uzyskać identyfikator procesu systemowego

Zestawy wyników

DBCC OPENTRAN zwraca następujące zestaw wyników , gdy nie ma otwartych transakcji:

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

Uprawnienia

Wymaga członkostwa w sysadmin stała rola serwera lub db_owner rola bazy danychstałej.

Przykłady

A.Zwracanie aktywną transakcję

Poniższy przykład pobiera informacje o transakcji w bieżącej bazie danych.Wyniki mogą się różnić.

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

Oto zestaw wyników.

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.

Ostrzeżenie

"UID (nazwa użytkownika)" wynik jest pozbawione sensu i zostaną usunięte w przyszłej wersja programu SQL Server.

B.Określenie opcji Z TABLERESULTS

Poniższy przykład ładuje wyniki polecenia DBCC OPENTRAN do tabelatymczasowej.

-- Create the temporary table to accept the results.
CREATE TABLE #OpenTranStatus (
   ActiveTransaction varchar(25),
   Details sql_variant 
   )
-- Execute the command, putting the results in the table.
INSERT INTO #OpenTranStatus 
   EXEC ('DBCC OPENTRAN WITH TABLERESULTS, NO_INFOMSGS');

-- Display the results.
SELECT * FROM #OpenTranStatus;
GO