Назад | Перейти на главную страницу

Как узнать, включена ли изоляция снимков?

Как в SQL Server 2005/2008 узнать, включена ли изоляция моментальных снимков? Я знаю как чтобы включить его, но я не могу найти заклинание, чтобы заставить Google сказать мне, как запросить состояние параметра Snapshot Isolation.

Powershell, правда? что не так со старым добрым T-SQL?

sys.databases это то, что вы хотите. В нем есть удобочитаемые столбцы описания, такие как snapshot_isolation_state_desc

SELECT snapshot_isolation_state_desc from sys.databases 
where name='adventureworks'

Расширение ответа по никам сверху ..

Следующее вернет информацию обо всех ваших базах данных

    select name
        , s.snapshot_isolation_state
        , snapshot_isolation_state_desc
        , is_read_committed_snapshot_on
        , recovery_model
        , recovery_model_desc
        , collation_name
    from sys.databases s

Щелкните правой кнопкой мыши каталог баз данных в проводнике объектов и запустите powershell. тип:
get-childitem|select name, snapshotisolationstate
и нажмите возврат

Или используя код T-SQL:

SELECT
'Current Isolation State:' [ ],
CASE is_read_committed_snapshot_on
        WHEN 1 THEN 'ON' ELSE 'OFF'
    END AS [Read Committed Snapsot State]
FROM sys.databases
WHERE name = 'MyDatabaseName'

Как проверить, включен ли уровень изоляции транзакции моментального снимка

Чтобы проверить, включен ли уровень изоляции транзакции моментального снимка, выполните следующие действия:

  1. Запустите приложение SQL Server Profiler.
  2. Создайте новую трассировку для подключения к источнику данных, который вы указали в проекте служб Analysis Services.
  3. в Свойства трассировки диалоговом окне щелкните значок Выбор событий таб.
  4. В столбце TransactionID щелкните, чтобы установить флажки в строке для события SQL: BatchCompleted и в строке для события SQL: BatchStarting.

Примечание. Чтобы отобразить столбец TransactionID, щелкните, чтобы выбрать Показать все столбцы флажок.

  1. Нажмите Бегать чтобы начать трассировку.
  2. В Business Intelligence Development Studio обработайте проект служб Analysis Services.

  3. В приложении SQL Server Profiler найдите события SQL: BatchCompleted и события SQL: BatchStarting, которые имеют одинаковое значение в столбце TransactionID. Обычно эти события содержат инструкцию SELECT в столбце TextData. Для этих событий получите идентификатор сеанса в столбце SPID.

  4. Чтобы подключиться к источнику данных, запустите SQL Server Management Studio.

  5. Создайте новый запрос, а затем выполните следующую инструкцию Transact-SQL.

    выберите session_id, Transaction_Isolation_Level из sys.dm_exec_sessions, где session_id =

Примечание. В этом операторе это идентификатор сеанса, который вы получили на шаге 7.

  1. На Полученные результаты Обратите внимание на значение в столбце Transaction_Isolation_Level. Это значение указывает уровень изоляции транзакции, который вы используете в проекте служб Analysis Services. Когда включен уровень изоляции транзакции моментального снимка, значение в столбце Transaction_Isolation_Level равно 5.

В следующей таблице показаны значения в столбце Transaction_Isolation_Level и соответствующие уровни изоляции транзакции.

https://support.microsoft.com/en-us/help/919160/how-to-enable-the-snapshot-transaction-isolation-level-in-sql-server-2