Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do
Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Banco de Dados SQL no Microsoft Fabric
Devolve uma tabela virtual que mostra todas as transações ativas no momento em que a transação snapshot atual começa. Se a transação atual não for uma transação snapshot, esta função não devolve linhas. sys.dm_tran_current_snapshot é semelhante ao sys.dm_tran_transactions_snapshot, exceto que sys.dm_tran_current_snapshot devolve apenas as transações ativas da transação instantânea atual.
Observação
Para chamar isto de Azure Synapse Analytics ou Analytics Platform System (PDW), use o nome sys.dm_pdw_nodes_tran_current_snapshot. Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.
Sintaxe
sys.dm_tran_current_snapshot
Tabela retornada
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
| transaction_sequence_num | bigint | Número de sequência da transação da transação ativa. |
| pdw_node_id | int |
Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW) O identificador do nó em que esta distribuição se encontra. |
Permissions
No SQL Server e na Instância Gerenciada do SQL, requer VIEW SERVER STATE permissão.
No Banco de Dados SQL Basic, S0e S1 objetivos de serviço e para bancos de dados em pools elásticos , a conta de de administrador do servidor, a conta de de administrador do Microsoft Entra ou a associação aode função de servidor ##MS_ServerStateReader## é necessária. Em todos os outros objetivos de serviço do Banco de dados SQL, é necessária a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader##.
Permissões para SQL Server 2022 e posterior
Requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.
Examples
O exemplo seguinte utiliza um cenário de teste em que quatro transações concorrentes, cada uma identificada por um número de sequência de transação (XSN), estão a correr numa base de dados que tem as opções ALLOW_SNAPSHOT_ISOLATION e READ_COMMITTED_SNAPSHOT definidas para ON. As seguintes transações estão a decorrer:
O XSN-57 é uma operação de atualização sob isolamento serializável.
O XSN-58 é igual ao XSN-57.
O XSN-59 é uma operação de seleção sob isolamento de instantâneos.
O XSN-60 é igual ao XSN-59.
A consulta seguinte é executada dentro do âmbito do 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 o XSN-57 e o XSN-58 estavam ativos no momento em que a transação snapshot XSN-59 começou. Este mesmo resultado mantém-se, mesmo após o commit ou o revertimento do XSN-57 e do XSN-58, até ao término da transação snapshot.
A mesma consulta é executada no âmbito do XSN-60.
Aqui está o conjunto de resultados.
transaction_sequence_num
------------------------
57
58
59
A saída do XSN-60 inclui as mesmas transações que aparecem no XSN-59, mas também inclui o XSN-59, que estava ativo quando o XSN-60 começou.
Ver também
Visualizações e funções de gerenciamento dinâmico (Transact-SQL)
Visualizações e funções de gerenciamento dinâmico relacionadas à transação (Transact-SQL)