Comment détecter que le SNAPSHOT en lecture engagée est activé?

Dans MS SQL Server est-il un moyen de détecter si une base de données a eu son niveau d'isolation définie via la commande T-SQL ALTER DATABASE <database> SET READ_COMMITTED_SNAPSHOT ON;

Je ne peux pas trouver un moyen simple de le détecter dans T-SQL ou via L'interface graphique du Studio de gestion.

TIA

108
demandé sur Bill Paetzke 2008-09-09 18:07:11

3 réponses

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

valeur de retour:

  • 1 : READ_COMMITTED_SNAPSHOT l'option est sur . Les opérations de lecture sous le niveau d'isolement READ COMMITTED sont basées sur des numérisations instantanées et n'acquièrent pas de serrures.
  • 0 (valeur par défaut): READ_COMMITTED_SNAPSHOT option OFF . Lire les opérations sous le READ COMMITTED niveau d'isolation utiliser serrures partagées .
162
répondu Galwegian 2017-02-21 20:07:21
  1. Que par https://msdn.microsoft.com/en-us/library/ms180065.aspx , "DBCC USEROPTIONS déclare un niveau d'isolement de 'read committed snapshot' lorsque L'option READ_COMMITTED_SNAPSHOT de la base de données est définie à ON et que le niveau d'isolement de la transaction est défini à 'read committed'. Le niveau d'isolement réel est lu engagé."

  2. aussi dans SQL Server Management Studio, dans les propriétés de base de données sous Options->Divers-il est "Read committed Sur" option "statut de la 151950920"

2
répondu MikeL 2016-07-09 23:04:50

ni sur SQL2005 ni 2012 ne DBCC USEROPTIONS montrer 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
1
répondu user3164106 2015-08-03 09:10:06