Как обнаружить чтения зафиксированных данных моментального снимка включена?
в MS SQL Server Есть способ определить, установлен ли уровень изоляции базы данных с помощью команды T-SQL ALTER DATABASE <database> SET READ_COMMITTED_SNAPSHOT ON;
Я не могу найти простой способ обнаружить это ни в T-SQL, ни через графический интерфейс Management Studio.
ТИА
3 ответа:
SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name= 'YourDatabase'
возвращаемое значение:
- 1: и ON. Читать операции под
READ COMMITTED
уровень изоляции основан на сканировании моментальных снимков и не получает блокировок.- 0 (по умолчанию): и выкл. Читать операции под
READ COMMITTED
использование уровня изоляции общие (Ы) блокировки.
согласно https://msdn.microsoft.com/en-us/library/ms180065.aspx, "DBCC USEROPTIONS сообщает уровень изоляции "read committed snapshot", когда параметр базы данных READ_COMMITTED_SNAPSHOT установлен в ON, а уровень изоляции транзакций установлен в "read committed". Фактический уровень изоляции чтения зафиксированных данных."
также В SQL Server Management Studio, в свойствах базы данных в разделе Параметры - > разное есть " читается Совершил моментальный снимок" состояния параметр
ни на SQL2005, ни на 2012 не делает
DBCC USEROPTIONS
показать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