Bagaimana Anda menemukan tingkat transaksi basis data saat ini di SQL Server?
155
Bagaimana Anda menemukan tingkat transaksi basis data saat ini di SQL Server?
Jalankan ini:
SELECT CASE transaction_isolation_level
WHEN 0 THEN 'Unspecified'
WHEN 1 THEN 'ReadUncommitted'
WHEN 2 THEN 'ReadCommitted'
WHEN 3 THEN 'Repeatable'
WHEN 4 THEN 'Serializable'
WHEN 5 THEN 'Snapshot' END AS TRANSACTION_ISOLATION_LEVEL
FROM sys.dm_exec_sessions
where session_id = @@SPID
READ_COMMITTED_SNAPSHOT
bukan tingkat isolasi, ini merupakan opsi basis data yang memungkinkan untuk mengubah perilakuReadDCommitted
tingkat-lebar basis data tingkat isolasijalankan saja
DBCC useroptions
dan Anda akan mendapatkan sesuatu seperti ini:sumber
sumber
sumber
Jika Anda berbicara tentang transaksi saat bersarang tingkat, maka Anda akan menggunakan
@@TRANCOUNT
.Jika Anda berbicara tentang tingkat isolasi transaksi , gunakan
DBCC USEROPTIONS
dan cari opsi tingkat isolasi . Jika tidak disetel, berarti sudah dibaca .sumber
DBCC USEROPTIONS
diatur ke "read berkomitmen"