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
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'isolementREAD 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 leREAD COMMITTED
niveau d'isolation utiliser serrures partagées .
-
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é."
-
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"
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