Compartilhar via


sys.dm_tran_current_snapshot (Transact-SQL)

Retorna uma tabela virtual que exibe todas as transações ativas no momento em que a transação de instantâneo atual tem início. Se a transação atual não for uma transação de instantâneo, essa função não retornará nenhuma linha. sys.dm_tran_current_snapshot é semelhante a sys.dm_tran_transactions_snapshot, exceto que sys.dm_tran_current_snapshot retorna apenas as transações ativas para a transação de instantâneo atual.

Sintaxe

sys.dm_tran_current_snapshot

Tabela retornada

Nome da coluna

Tipo de dados

Descrição

transaction_sequence_num

bigint

Número de seqüência de transação da transação ativa.

Permissões

Requer a permissão VIEW SERVER STATE no servidor.

Exemplos

O exemplo a seguir usa um cenário de teste no qual quatro transações simultâneas, cada uma identificada por um XSN (número de seqüência de transação), estão sendo executadas em um banco de dados no qual as opções ALLOW_SNAPSHOT_ISOLATION e READ_COMMITTED_SNAPSHOT estão definidas como ON. As seguintes transações estão sendo executadas:

  • XSN-57 é uma operação de atualização em isolamento serializável.

  • XSN-58 é o mesmo que XSN-57.

  • XSN-59 é uma operação de seleção em isolamento de instantâneo.

  • XSN-60 é o mesmo que XSN-59.

A consulta seguinte é executada dentro do escopo de XSN-59.

SELECT 
    transaction_sequence_num
  FROM sys.dm_tran_current_snapshot;

Aqui está o conjunto de resultados.

transaction_sequence_num
------------------------
57
58

Os resultados mostram que XSN-57 e XSN-58 estavam ativos no momento em que a transação de instantâneo XSN-59 teve início. Esse mesmo resultado persiste, mesmo depois que XSN-57 e XSN-58 são confirmados ou revertidos, até que a transação de instantâneo termine.

A mesma consulta é executada dentro do escopo de XSN-60.

Aqui está o conjunto de resultados.

transaction_sequence_num
------------------------
57
58
59

A saída para XSN-60 inclui as mesmas transações que aparecem para XSN-59, mas também inclui XSN-59, que estava ativo quando XSN-60 iniciou.