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


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


29
2018-02-26 10:19


Источник




Ответы:


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


4
2018-02-26 13:33



вау, нужен ли PS? - Nick Kavadias


Powershell, правда? что случилось с хорошим модным T-SQL?

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

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

53
2018-02-26 14:25



Нет, не совсем необходимо, но я только начинаю изучать PS, поэтому посмотрел, как это можно сделать, и подумал, что я поделюсь ...! - Fatherjack
насколько я ненавижу это признать, это круто - Nick Kavadias
честно говоря, я изо всех сил стараюсь увидеть, что это будет очень полезно для меня, у нас только 30 серверов. Если бы я хотел, чтобы изоляция моментальных снимков из каждой базы данных на каждом сервере, то я думаю, что PS может быть лучше, чем T-SQL. Пока я вижу это как альтернативу, я буду использовать ее здесь и там, я ожидаю. - Fatherjack
Я не могу редактировать, потому что это меньше шестизначного изменения, но для других запутанных душ, которые копируют и вставляют запрос, обратите внимание, что это должна быть sys.databases а не sys.database. - Mark Sowul


Развертывание ответа на ники сверху ..

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

    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

13
2018-01-03 22:30





Или используя код 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'


2
2018-01-25 20:16



Этот ответ предназначен для read_committed_snapshot, а не для уровня изоляции моментального снимка, как запрошенный OP. Это две разные вещи. - Kevin Kalitowski