dbcc opentran (Transact-sql)
Belirtilen veritabanı içindeki en eski etkin hareket ve eski dağıtılmış ve nondistributed Çoğaltılmış hareketleri hakkındaki bilgileri görüntüler. Sonuçları yalnızca, etkin bir işlem yoksa veya veritabanı çoğaltma bilgileri içeriyorsa görüntülenir. Hiçbir etkin işlemler varsa bir bilgilendirme iletisi görüntülenir.
[!NOT]
dbcc opentran olmayan - SQL Server yayımcılar için desteklenmiyor.
Transact-SQL Sözdizim Kuralları
Sözdizimi
DBCC OPENTRAN
[
( [ database_name | database_id | 0 ] ) ]
{ [ WITH TABLERESULTS ]
[ , [ NO_INFOMSGS ] ]
}
]
Bağımsız değişkenler
database_name | database_id| 0
Eski işlem bilgilerini görüntülemek için veritabanı Kımlığı veya adı olduğunu. Belirtilmezse veya 0 belirtilirse, geçerli veritabanı kullanılır. Veritabanı adları için kuralları ile uymak gerekir tanımlayıcıları.TABLERESULTS
Sonuçları bir tabloya yüklenen tablo biçiminde belirtir. Karşılaştırmalar için bir tabloya eklenebilir sonuçları tablosu oluşturmak için bu seçeneği kullanın. Bu seçenek belirtildiğinde, sonuçları okunabilirlik için biçimlendirilmiş.NO_INFOMSGS
Tüm bilgi iletilerini kapatır.
Açıklamalar
dbcc opentran açık hareket içinde hareket günlüğü var olup olmadığını belirlemek için kullanın. backup GNLK deyimi kullandığınızda, yalnızca etkin olmayan kısmını günlük kesilmiş; Açık hareket günlüğü tamamen kesiliyor engelleyebilirsiniz. Açık bir hareketi belirlemek için sp_whoSistem işlem kimliği edinmek için
Sonuç Kümeleri
Hiçbir açık hareket olduğunda dbcc opentran aşağıdaki sonuç kümesi döndürür:
No active open transactions.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
No active open transactions.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
İzinler
sysadmin sabit sunucu rolüne veya db_owner sabit veritabanı rolüne üye olmayı gerektirir.
Örnekler
A.En eski etkin hareket döndürme
Aşağıdaki örnek, geçerli veritabanı için hareket bilgilerini alır. Sonuçlar farklı olabilir.
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
Sonuç kümesi buradadır.
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.
[!NOT]
"UID (user ID)" Sonuç anlamsız ve bir sonraki sürümünde kaldırılacak SQL Server.
B.İLE tableresults seçeneği belirtme
Aşağıdaki örnek dbcc opentran komutunun sonuçlarını geçici bir tabloya yükler.
-- 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
Ayrıca bkz.
Başvuru
BEGIN TRANSACTION (Transact-SQL)