Bagaimana cara mendeteksi READ_COMMITTED_SNAPSHOT diaktifkan?


130

Dalam MS SQL Server ada cara untuk mendeteksi apakah database telah memiliki tingkat isolasi yang ditetapkan melalui perintah T-SQL ALTER DATABASE <database> SET READ_COMMITTED_SNAPSHOT ON;

Saya tidak dapat menemukan cara sederhana untuk mendeteksi ini di T-SQL atau melalui GUI Management Studio.

TIA

Jawaban:


194
SELECT is_read_committed_snapshot_on FROM sys.databases 
WHERE name= 'YourDatabase'

Nilai pengembalian:

  • 1 : READ_COMMITTED_SNAPSHOTopsi AKTIF . Operasi baca di bawah READ COMMITTEDtingkat isolasi didasarkan pada pemindaian foto dan tidak memperoleh kunci.
  • 0 (standar): READ_COMMITTED_SNAPSHOTopsi MATI . Baca operasi di bawah READ COMMITTEDlevel isolasi menggunakan kunci Shared (S) .

7
Saya suka "PENGGUNA DBCC", sedikit lebih mudah diingat.
ProVega

5
@ProVega - PENGGUNA DBCC tidak mengembalikan nilai is_read_committed_snapshot_on.
Carsten Schütte

3
  1. Sesuai https://msdn.microsoft.com/en-us/library/ms180065.aspx , "DBCC USEROPTIONS melaporkan tingkat isolasi 'read commit snapshot' ketika opsi basis data READ_COMMITTED_SNAPSHOT disetel ke ON dan tingkat isolasi transaksi diaktifkan atur ke 'read berkomitmen'. Level isolasi aktual dibaca berkomitmen. "

  2. Juga di SQL Server Management Studio, dalam properti database di bawah Options-> Miscellaneous ada status opsi "Is Read Committed Snapshot On"


1

Baik pada SQL2005 maupun 2012 tidak DBCC USEROPTIONSmenunjukkan is_read_committed_snapshot_on:

Set Option  Value
textsize    2147483647
language    us_english
dateformat  mdy
datefirst   7
lock_timeout    -1
quoted_identifier   SET
arithabort  SET
ansi_null_dflt_on   SET
ansi_warnings   SET
ansi_padding    SET
ansi_nulls  SET
concat_null_yields_null SET
isolation level read committed

6
Silakan, coba baca stackoverflow.com/about ini , untuk mendapatkan lebih banyak pemahaman tentang pertanyaan / jawaban di sini di SO. Kontribusi Anda tidak menjawab pertanyaan. Ini lebih merupakan komentar, yang dapat Anda tambahkan setelah Anda meningkatkan reputasi Anda: stackoverflow.com/faq#reputation
Radim Köhler

1
Jawabannya oke karena ia mencoba menjawab pertanyaan "adakah jalan?". Tetapi hanya mengatakan apa yang tidak berhasil tidak akan banyak diterima.
Christian Strempfer

4
Level Isolasi di DBCC USEROPTIONStidak memberitahu Anda. Jika sudah read committed snapshotaktif, jika tidak aktif
Greg

@Greg - bidikan snapshot berkomitmen diatur pada level basis data, bukan level koneksi pengguna. PENGGUNA DBCC tidak akan memberi tahu Anda apakah itu hidup atau mati.
JasonS
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.