Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Günlük kesilmesini engelleyebilecek etkin işlemlerin tanımlanmasına yardımcı olur.
DBCC OPENTRAN, belirtilen veritabanının işlem günlüğünde en eski etkin işlem ve varsa en eski dağıtılmış ve dağıtılmamış çoğaltılmış işlemler hakkındaki bilgileri görüntüler. Sonuçlar yalnızca günlükte etkin bir işlem varsa veya veritabanı çoğaltma bilgileri içeriyorsa görüntülenir. Günlükte etkin bir işlem yoksa bilgilendiren bir ileti görüntülenir.
Not
sql server olmayan yayımcılar için DBCC OPENTRAN desteklenmez.
Transact-SQL söz dizimi kuralları
Sözdizimi
DBCC OPENTRAN
[
( [ database_name | database_id | 0 ] )
{ [ WITH TABLERESULTS ]
[ , [ NO_INFOMSGS ] ]
}
]
Bağımsız değişken
| database_namedatabase_id | 0
En eski işlem bilgilerinin görüntüleneceği veritabanının adı veya kimliği. Belirtilmezse veya 0 belirtilirse geçerli veritabanı kullanılır. Veritabanı adları tanımlayıcılarının kurallarına uymalıdır.
TABLERESULTS
Sonuçları tabloya yüklenebilen tablo biçiminde belirtir. Karşılaştırmalar için tabloya eklenebilen bir sonuç tablosu oluşturmak için bu seçeneği kullanın. Bu seçenek belirtilmediğinde, sonuçlar okunabilirlik için biçimlendirilir.
NO_INFOMSGS
Tüm bilgilendirme iletilerini gizler.
Açıklamalar
açık bir işlemin işlem günlüğünde mevcut olup olmadığını belirlemek için DBCC OPENTRAN kullanın.
BACKUP LOG deyimini kullandığınızda, günlüğün yalnızca etkin olmayan bölümü kesilebilir; açık bir işlem günlüğün tamamen kesilmesini engelleyebilir. Açık bir işlemi tanımlamak için, oturum kimliğini elde etmek için kullanın sp_who .
Sonuç kümeleri
DBCC OPENTRAN, açık işlem olmadığında aşağıdaki sonuç kümesini döndürür:
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 üyelik gerektirir.
Örnekler
A. En eski etkin işlemi iade et
Aşağıdaki örnek, geçerli veritabanı için işlem bilgilerini alır. Sonuçlar farklılık gösterebilir.
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 aşağıdadı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 (kullanıcı kimliği)" sonucu anlamsızdır ve SQL Server'ın gelecekteki bir sürümünde kaldırılacaktır.
B. WITH TABLERESULTS seçeneğini belirtin
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