Compartilhar via


sys.dm_db_xtp_gc_cycle_stats (Transact-SQL)

Aplica-se a: SQL ServerBanco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Gera o estado atual das transações confirmadas que excluíram uma ou mais linhas. O thread inativo de coleta de lixo é ativado a cada minuto ou quando o número de transações DML confirmadas excede um limite interno desde o último ciclo de coleta de lixo. Como parte do ciclo de coleta de lixo, as transações confirmadas são movidas para uma ou mais filas associadas a gerações. As transações que geraram versões obsoletas são agrupadas em uma unidade de 16 transações em 16 gerações da seguinte maneira:

  • Geração 0: armazena todas as transações confirmadas antes da transação ativa mais antiga. As versões de linha geradas por essas transações são imediatamente disponibilizadas para coleta de lixo.

  • Gerações 1 a 14: armazena as transações com carimbo de data/hora posterior à transação ativa mais antiga. As versões de linha não podem ser coletadas como lixo. Cada geração pode reter até 16 transações. Pode existir um total de 224 (14 * 16) transações nessas gerações.

  • Geração 15: as transações restantes com carimbo de data/hora posterior à transação ativa mais antiga vai para a geração 15. Similar à geração 0, não há limite de número de transações na geração 15.

Quando há pressão de memória, o thread de coleta de lixo atualiza agressivamente a dica de transação ativa mais antiga, o que força a coleta de lixo.

Para obter mais informações, veja OLTP in-memory (otimização na memória).

Nome da coluna Type Descrição
cycle_id bigint Um identificador de exclusividade para o ciclo de coleta de lixo.
ticks_at_cycle_start bigint Tiques no momento em que o ciclo foi iniciado.
ticks_at_cycle_end bigint Tiques no momento em que o ciclo foi encerrado.
base_generation bigint O valor base atual da geração no banco de dados. Isso representa o carimbo de data/hora da transação ativa mais antiga usado para identificar transações de coleta de lixo. A ID de transação ativa mais antiga é atualizada no incremento de 16. Por exemplo, se você tiver IDs de transação como 124, 125, 126 ... 139, o valor é 124. Quando você adiciona outra transação, por exemplo, 140, o valor é 140.
xacts_copied_to_local bigint O número de transações copiadas de pipeline da transação na matriz de geração de banco de dados.
xacts_in_gen_0 - xacts_in_gen_15 bigint Número de transações em cada geração.

Permissões

Requer a permissão VIEW DATABASE STATE no banco de dados.

Permissões do SQL Server 2022 e posteriores

Requer a permissão VIEW DATABASE PERFORMANCE STATE no banco de dados.

Cenário de uso

Aqui está uma saída de exemplo com um subconjunto de colunas, mostrando 27 gerações:

cycle_id   ticks_at_cycle_start ticks_at_cycle_end   base_generation  xacts_in_gen_0    xacts_in_gen_1  
  
1          123160509            123160509            1                    0                    0  
2          123176822            123176822            1                    0                    1  
3          123236826            123236826            1                    0                    1  
4          123296829            123296829            1                    0                    1  
5          123356832            123356941            129                  0                    0  
6          123357473            123357473            129                  0                    0  
7          123417486            123417486            129                  0                    0  
8          123477489            123477489            129                  0                    0  
9          123537492            123537492            129                  0                    0  
10         123597500            123597500            129                  0                    0  
11         123657504            123657504            129                  0                    0  
12         123717507            123717507            129                  0                    0  
13         123777510            123777510            129                  0                    0  
14         123837513            123837513            129                  0                    0  
15         123897516            123897516            129                  0                    0  
16         123957516            123957516            129                  0                    0  
17         124017516            124017516            129                  0                    0  
18         124077517            124077517            129                  0                    0  
19         124137517            124137517            129                  0                    0  
20         124197518            124197518            129                  0                    0  
21         124257518            124257518            129                  0                    0  
22         124317523            124317523            129                  0                    0  
23         124377526            124377526            129                  0                    0  
24         124437529            124437529            129                  0                    0  
25         124497533            124497533            129                  0                    0  
26         124557536            124557536            129                  0                    0  
27         124617539            124617539            129                  0                    0