2008-09-09 27 views
105

En MS SQL Server es que hay una manera de detectar si una base de datos ha tenido su nivel de aislamiento configurar mediante el comando T-SQL ALTER DATABASE <database> SET READ_COMMITTED_SNAPSHOT ON;¿Cómo detectar READ_COMMITTED_SNAPSHOT está habilitado?

no puedo encontrar una forma sencilla de detectar esto en cualquiera de T-SQL o por medio de la Dirección GUI de Studio.

TIA valor

Respuesta

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

de devolución:

  • : READ_COMMITTED_SNAPSHOT opción es EN. Las operaciones de lectura bajo el nivel de aislamiento READ COMMITTED se basan en escaneos de instantáneas y no adquieren bloqueos.
  • (predeterminado): READ_COMMITTED_SNAPSHOT opción es DESACTIVADO. Las operaciones de lectura bajo el nivel de aislamiento READ COMMITTED usan Shared (S) locks.
+6

me gusta "DBCC USEROPTIONS", un poco más fácil de recordar. – ProVega

+3

@ProVega - DBCC USEROPTIONS no devuelve el valor de is_read_committed_snapshot_on. –

0

Ni en SQL2005 ni 2012 hace DBCC USEROPTIONS muestran 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 
+4

Intente leer este http://stackoverflow.com/about para obtener más información sobre las preguntas y respuestas aquí en SO. Tu contribución no responde la pregunta. Es más un comentario, que puede agregar una vez que aumente su reputación: http://stackoverflow.com/faq#reputation –

+1

La respuesta está bien ya que trata de responder la pregunta "¿hay alguna manera?". Pero solo decir lo que no funciona no tendrá mucha aceptación. –

+3

El nivel de aislamiento en 'DBCC USEROPTIONS' te dice. Si se trata de 'leer instantánea confirmada', entonces está activado; de lo contrario, está desactivado – Greg

1
  1. Según https://msdn.microsoft.com/en-us/library/ms180065.aspx, "DBCC USEROPTIONS reporta un nivel de aislamiento de 'lectura instantánea comprometida' cuando la opción de base de datos READ_COMMITTED_SNAPSHOT es se establece en ON y el nivel de aislamiento de la transacción se establece en "leer confirmado". El nivel de aislamiento real se lee confirmado ".

  2. También en SQL Server Management Studio, en las propiedades de base de datos bajo Opciones-> Otros hay "se lee instantánea cometidos en" estado de la opción

Cuestiones relacionadas