No SQL Server 2005/2008, como posso saber se o isolamento de instantâneo está ativado? Eu sei como ativá-lo, mas não consigo encontrar o encantamento para fazer o google me dizer como consultar o estado da opção Isolamento de instantâneo.
No SQL Server 2005/2008, como posso saber se o isolamento de instantâneo está ativado? Eu sei como ativá-lo, mas não consigo encontrar o encantamento para fazer o google me dizer como consultar o estado da opção Isolamento de instantâneo.
Respostas:
clique com o botão direito do mouse no diretório de bancos de dados no explorador de objetos e inicie o powershell. digite:
get-childitem|select name, snapshotisolationstate
e pressione return
Powershell, realmente? o que há de errado com o bom e velho T-SQL?
sys.databases é o que você deseja. Possui colunas de descrição legíveis por humanos, como snapshot_isolation_state_desc
SELECT snapshot_isolation_state_desc from sys.databases
where name='adventureworks'
Expandindo a resposta de nicks de cima ..
A seguir, 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
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]
FROM sys.databases
WHERE name = 'MyDatabaseName'
Como testar se o nível de isolamento da transação de captura instantânea está ativado
Para testar se o nível de isolamento da transação de captura instantânea está ativado, siga estas etapas:
- Inicie o SQL Server Profiler.
- Crie um novo rastreamento para conectar-se à fonte de dados que você especificou no projeto Analysis Services.
- Na caixa de diálogo Propriedades de rastreamento , clique na guia Seleção de eventos .
- Na coluna TransactionID, clique para selecionar as caixas de seleção na linha do evento SQL: BatchCompleted e na linha do evento SQL: BatchStarting.
Nota Para exibir a coluna TransactionID, clique para selecionar a caixa de seleção Mostrar todas as colunas .
- Clique em Executar para iniciar o rastreamento.
No Business Intelligence Development Studio, processe o projeto Analysis Services.
No SQL Server Profiler, procure os eventos SQL: BatchCompleted e os eventos SQL: BatchStarting que possuem o mesmo valor na coluna TransactionID. Normalmente, esses eventos contêm a instrução SELECT na coluna TextData. Para esses eventos, obtenha o ID da sessão na coluna SPID.
Para se conectar à fonte de dados, inicie o SQL Server Management Studio.
Crie uma nova consulta e execute a seguinte instrução Transact-SQL.
selecione session_id, Transaction_Isolation_Level em sys.dm_exec_sessions em que session_id =
Nota Nesta declaração, é um espaço reservado para a identificação da sessão que você obteve na etapa 7.
- Na guia Resultados , observe o valor na coluna Transaction_Isolation_Level. Este valor indica o nível de isolamento da transação que você está usando no projeto Analysis Services. Quando o nível de isolamento da transação de captura instantânea está ativado, o valor na coluna Transaction_Isolation_Level é 5.
A tabela a seguir mostra os valores na coluna Transaction_Isolation_Level e os níveis de isolamento de transação correspondentes.