Wie erkenne ich, dass READ_COMMITTED_SNAPSHOT aktiviert ist?

130

In MS SQL Server gibt es eine Möglichkeit zu erkennen, ob für eine Datenbank die Isolationsstufe über den Befehl T-SQL festgelegt wurde ALTER DATABASE <database> SET READ_COMMITTED_SNAPSHOT ON;

Ich kann weder in T-SQL noch über die GUI des Management Studios einen einfachen Weg finden, dies zu erkennen.

TIA

Chris Fahrer
quelle

Antworten:

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

Rückgabewert:

  • 1 : READ_COMMITTED_SNAPSHOTOption ist ON . Lesevorgänge unter der READ COMMITTEDIsolationsstufe basieren auf Snapshot-Scans und erwerben keine Sperren.
  • 0 (Standard): READ_COMMITTED_SNAPSHOTOption ist AUS . Lesevorgänge unter der READ COMMITTEDIsolationsstufe verwenden Shared (S) -Sperren .
Galwegisch
quelle
7
Ich mag "DBCC USEROPTIONS", ein bisschen leichter zu merken.
ProVega
5
@ProVega - DBCC USEROPTIONS gibt den Wert von is_read_committed_snapshot_on nicht zurück.
Carsten Schütte
3
  1. Wie pro https://msdn.microsoft.com/en-us/library/ms180065.aspx „, berichtet DBCC Useroptions die Isolationsstufe‚engagierte Snapshot lesen‘ , wenn die Datenbankoption READ_COMMITTED_SNAPSHOT auf ON und die Transaktionsisolationsstufe eingestellt ist , auf 'read commit' gesetzt. Die tatsächliche Isolationsstufe ist read commit. "

  2. Auch in SQL Server Management Studio wird in den Datenbankeigenschaften unter Optionen-> Verschiedenes der Optionsstatus "Wird ein festgeschriebener Snapshot gelesen" angezeigt

MikeL
quelle
1

Weder auf SQL2005 noch 2012 tut DBCC USEROPTIONSShow 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
user3164106
quelle
6
Bitte versuchen Sie, diese stackoverflow.com/about zu lesen , um mehr über Fragen / Antworten hier auf SO zu erfahren . Ihr Beitrag beantwortet die Frage nicht. Es ist eher ein Kommentar, den Sie hinzufügen können, sobald Sie Ihren Ruf verbessern
Radim Köhler
1
Die Antwort ist in Ordnung, da versucht wird, die Frage "Gibt es einen Weg?" Zu beantworten. Aber nur zu sagen, was nicht funktioniert, wird nicht viel Akzeptanz finden.
Christian Strempfer
4
Die Isolationsstufe in DBCC USEROPTIONSsagt es Ihnen. Wenn es read committed snapshotdann ist, ist es an, sonst ist es aus
Greg
@Greg - Festgeschriebener Snapshot zum Lesen wird auf Datenbankebene und nicht auf Benutzerverbindungsebene festgelegt. DBCC USEROPTIONS sagt Ihnen nicht, ob es ein- oder ausgeschaltet ist.
JasonS