READ_COMMITTED_SNAPSHOT nasıl tespit edilir etkinleştirilir?


130

MS SQL Server'da, bir veritabanının izolasyon düzeyinin T-SQL komutu aracılığıyla ayarlanıp ayarlanmadığını algılamanın bir yolu vardır. ALTER DATABASE <database> SET READ_COMMITTED_SNAPSHOT ON;

Bunu T-SQL'de veya Management Studio'nun GUI'sinde tespit etmenin basit bir yolunu bulamıyorum.

TIA

Yanıtlar:


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

Geri dönüş değeri:

  • 1 : READ_COMMITTED_SNAPSHOTseçenek AÇIK . READ COMMITTEDİzolasyon düzeyi altındaki okuma işlemleri , anlık görüntü taramalarına dayanır ve kilitleri almaz.
  • 0 (varsayılan): READ_COMMITTED_SNAPSHOTseçenek KAPALI'dır . READ COMMITTEDİzolasyon düzeyi altındaki okuma işlemleri, Paylaşılan (S) kilitleri kullanır .

7
Hatırlaması biraz daha kolay olan "DBCC USEROPTIONS" ı seviyorum.
ProVega

5
@ProVega - DBCC USEROPTIONS is_read_committed_snapshot_on değerini döndürmez.
Carsten Schütte

3
  1. Https://msdn.microsoft.com/en-us/library/ms180065.aspx uyarınca , "DBCC USEROPTIONS, READ_COMMITTED_SNAPSHOT veritabanı seçeneği AÇIK olarak ayarlandığında ve işlem yalıtım düzeyi olduğunda 'kayıtlı anlık görüntünün okuma' yalıtım düzeyini bildirir 'okuma tamamlandı' olarak ayarlandı. Gerçek izolasyon seviyesi okunur tamamlandı. "

  2. Ayrıca SQL Server Management Studio'da, Seçenekler-> Çeşitli altındaki veritabanı özelliklerinde "Okundu Anlık Görüntüsü Açık" seçeneği durumu vardır.


1

Ne SQL2005'te ne de 2012'de şunlar DBCC USEROPTIONSgösterilmez 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
SO'da sorular / yanıtlar hakkında daha fazla bilgi edinmek için lütfen bu stackoverflow.com/about'u okumayı deneyin . Katkınız soruya cevap vermiyor. Bu daha çok, itibarınızı artırdığınızda ekleyebileceğiniz bir yorum: stackoverflow.com/faq#reputation
Radim Köhler

1
Cevap, "bir yolu var mı?" Sorusuna cevap vermeye çalışırken tamamdır. Ama sadece neyin işe yaramadığını söylemek pek kabul görmeyecek.
Christian Strempfer

4
İzolasyon seviyesi DBCC USEROPTIONSsize söyler. E? Er read committed snapshoto zaman aksi takdirde kapalı, üzerinde bulunuyor
Greg

@Greg - okuma kaydedilmiş anlık görüntü, kullanıcı bağlantı düzeyinde değil veritabanı düzeyinde ayarlanır. DBCC USEROPTIONS, açık olup olmadığını size söylemez.
JasonS
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.