Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Segít azonosítani azokat az aktív tranzakciókat, amelyek megakadályozhatják a napló csonkolását.
DBCC OPENTRAN megjeleníti a legrégebbi aktív tranzakcióra, valamint a legrégebbi elosztott és nem disztributált replikált tranzakciókra vonatkozó információkat, ha vannak ilyenek, a megadott adatbázis tranzakciónaplójában. Az eredmények csak akkor jelennek meg, ha a naplóban aktív tranzakció található, vagy ha az adatbázis replikációs adatokat tartalmaz. Egy tájékoztató üzenet jelenik meg, ha nincsenek aktív tranzakciók a naplóban.
Jegyzet
DBCC OPENTRAN nem sql server közzétevők esetén nem támogatott.
Transact-SQL szintaxis konvenciói
Szintaxis
DBCC OPENTRAN
[
( [ database_name | database_id | 0 ] )
{ [ WITH TABLERESULTS ]
[ , [ NO_INFOMSGS ] ]
}
]
Érvek
| database_namedatabase_id | 0
Annak az adatbázisnak a neve vagy azonosítója, amelynek a legrégebbi tranzakciós adatait szeretné megjeleníteni. Ha nincs megadva, vagy ha 0 van megadva, a rendszer az aktuális adatbázist használja. Az adatbázisneveknek meg kell felelniük azonosítókszabályainak.
TABLERESULTS
Táblázatos formátumban adja meg az eredményeket, amelyek betölthetők egy táblába. Ezzel a beállítással olyan eredménytáblát hozhat létre, amely összehasonlítás céljából beszúrható egy táblába. Ha ez a beállítás nincs megadva, az eredmények olvashatóságra vannak formázva.
NO_INFOMSGS
Letiltja az összes tájékoztató üzenetet.
Megjegyzések
A DBCC OPENTRAN használatával állapítsa meg, hogy létezik-e nyitott tranzakció a tranzakciónaplóban. A BACKUP LOG utasítás használatakor csak a napló inaktív része csonkolt; egy nyitott tranzakció megakadályozhatja a napló teljes csonkolását. Egy nyitott tranzakció azonosításához használjuk sp_who a session ID-t a használatra.
Eredményhalmazok
DBCC OPENTRAN a következő eredményhalmazt adja vissza, ha nincsenek nyitott tranzakciók:
No active open transactions.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Engedélyek
A sysadmin rögzített kiszolgálói szerepkörben vagy a db_owner rögzített adatbázis-szerepkörben való tagság szükséges.
Példák
Egy. A legrégebbi aktív tranzakció visszaadása
Az alábbi példa az aktuális adatbázis tranzakciós adatait kéri le. Az eredmények eltérőek lehetnek.
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
Itt van az eredményhalmaz.
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.
Jegyzet
A "UID (felhasználói azonosító)" eredmény értelmetlen, és az SQL Server egy későbbi verziójában el lesz távolítva.
B. A WITH TABLERESULTS beállítás megadása
Az alábbi példa betölti a DBCC OPENTRAN parancs eredményeit egy ideiglenes táblába.
-- 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