Partilhar via


sys.dm_tran_top_version_generators (Transact-SQL)

Aplica-se a:Banco de Dados SQL doAzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics 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)