Como posso saber se o isolamento de instantâneo está ativado?

31

No SQL Server 2005/2008, como saber se o isolamento de instantâneo está ativado? Eu sei como para ligá-lo, mas não consigo encontrar o encantamento para obter o google para me dizer como consultar o estado da opção Isolamento Snapshot.

    
por Samuel Jack 26.02.2010 / 11:19

4 respostas

4

clique com o botão direito do mouse no diretório de bancos de dados no explorador de objetos e inicie o powershell. tipo:
get-childitem|select name, snapshotisolationstate
e pressione return

    
por 26.02.2010 / 14:33
57

Powershell, realmente? o que há de errado com o bom e velho T-SQL?

sys.databases é o que você deseja. Ele tem colunas de descrição legíveis como snapshot_isolation_state_desc

SELECT snapshot_isolation_state_desc from sys.databases 
where name='adventureworks'
    
por 26.02.2010 / 15:25
13

Expandindo a resposta do nicks acima.

O seguinte retornará informações sobre todos os seus bancos de dados

    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
    
por 03.01.2013 / 23:30
2

Ou usando o código T-SQL:

SELECT
'Current Isolation State:' [ ],
CASE is_read_committed_snapshot_on
        WHEN 1 THEN 'ON' ELSE 'OFF'
    END AS [Read Committed Snapsot State]

de sys.databases WHERE name = 'MyDatabaseName'

    
por 25.01.2013 / 21:16