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 para os objetos que estão a produzir mais versões na loja de versões. sys.dm_tran_top_version_generators devolve os 256 melhores comprimentos agregados de discos, agrupados por database_id e rowset_id. sys.dm_tran_top_version_generators recupera dados consultando a tabela virtual dm_tran_version_store . sys.dm_tran_top_version_generators é uma vista ineficiente de executar porque esta visualização consulta a memória de versões, e esta pode ser muito grande. Recomendamos que utilize esta função para encontrar os maiores consumidores da loja de versões.
Observação
Para chamar isto do Azure Synapse Analytics ou Analytics Platform System (PDW), use o nome sys.dm_pdw_nodes_tran_top_version_generators. Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.
Sintaxe
sys.dm_tran_top_version_generators
Tabela retornada
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
| database_id | int | ID da base de dados. No Banco de Dados SQL do Azure, os valores são exclusivos em um único banco de dados ou pool elástico, mas não em um servidor lógico. |
| rowset_id | bigint | ID de rowset. |
| aggregated_record_length_in_bytes | int | Soma dos comprimentos dos registos para cada par de database_id e rowset_id na loja de versões. |
| 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.
Observações
Como sys.dm_tran_top_version_generators pode ter de ler muitas páginas enquanto analisa toda a loja de versões, correr sys.dm_tran_top_version_generators pode interferir com o desempenho do sistema.
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 seguinte consulta é executada.
SELECT
database_id,
rowset_id,
aggregated_record_length_in_bytes
FROM sys.dm_tran_top_version_generators;
Aqui está o conjunto de resultados.
database_id rowset_id aggregated_record_length_in_bytes
----------- -------------------- ---------------------------------
9 72057594038321152 87
9 72057594038386688 33
O resultado mostra que todas as versões são criadas por database_id``9 e que as versões são geradas a partir de duas tabelas.
Consulte também
Visões e funções de gerenciamento dinâmico (Transact-SQL)
Visualizações e funções de gerenciamento dinâmico relacionadas à transação (Transact-SQL)