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

War es hilfreich?

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 unter READ COMMITTED Die Isolationsstufen basieren auf Snapshot-Scans und erfordern keine Sperren.
  • 0 (Standard): READ_COMMITTED_SNAPSHOT Option ist AUS.Lesen Sie die Operationen unter READ COMMITTED Verwendung auf Isolationsebene Gemeinsame (S) Sperren.

Andere Tipps

  1. 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“.

  2. 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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top