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 pelo fato de que sys.dm_tran_current_snapshot retorna apenas as transações ativas para a transação de instantâneo atual.

Aplica-se a: SQL Server (SQL Server 2008 à versão atual).

Sintaxe

sys.dm_tran_current_snapshot

Tabela retornada

Nome da coluna

Tipo de dados

Descrição

transaction_sequence_num

bigint

Número de sequê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 sequê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 sob o 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.

Consulte também

Referência

Exibições e funções de gerenciamento dinâmico (Transact-SQL)

Funções e exibições de gerenciamento dinâmico relacionadas à transação (Transact-SQL)