Wie erkennt man, dass READ_COMMITTED_SNAPSHOT aktiviert ist?
-
09-06-2019 - |
Frage
In MS SQL Server gibt es eine Möglichkeit, über den T-SQL-Befehl zu erkennen, ob die Isolationsstufe einer Datenbank festgelegt wurde ALTER DATABASE <database> SET READ_COMMITTED_SNAPSHOT ON;
Ich kann weder in T-SQL noch über die GUI des Management Studios eine einfache Möglichkeit finden, dies zu erkennen.
TIA
Lösung
SELECT is_read_committed_snapshot_on FROM sys.databases
WHERE name= 'YourDatabase'
Rückgabewert:
- 1:
READ_COMMITTED_SNAPSHOT
Option ist AN.Lesen Sie die Operationen unterREAD COMMITTED
Die Isolationsstufen basieren auf Snapshot-Scans und erfordern keine Sperren. - 0 (Standard):
READ_COMMITTED_SNAPSHOT
Option ist AUS.Lesen Sie die Operationen unterREAD COMMITTED
Verwendung auf Isolationsebene Gemeinsame (S) Sperren.
Andere Tipps
Gemäß https://msdn.microsoft.com/en-us/library/ms180065.aspx, "DBCC -Benutzeroptionen meldet eine Isolationsstufe von" Lesen Sie festgespanntes Snapshot ", wenn die Datenbankoption read_commortd_snapshot auf eins gesetzt ist und die Transaktions -Isolationsstufe auf" Lesen angegeben "eingestellt ist.Die tatsächliche Isolationsstufe ist „Read Committed“.
Auch in SQL Server Management Studio gibt es in den Datenbankeigenschaften unter Optionen->Verschiedenes den Optionsstatus „Ist Read Committed Snapshot On“ aktiviert
Weder unter SQL2005 noch 2012 ist dies der Fall DBCC USEROPTIONS
zeigen 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