Partilhar via


sys.dm_db_xtp_gc_cycle_stats (Transact-SQL)

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

Apresenta o estado atual das transações comprometidas que eliminaram uma ou mais linhas. A thread de recolha de lixo inativa a cada minuto ou quando o número de transações DML comprometidas ultrapassa um limiar interno desde o último ciclo de recolha de lixo. Como parte do ciclo de recolha de lixo, as transações comprometidas passam para uma ou mais filas associadas a gerações. As transações que geraram versões obsoletas estão agrupadas numa unidade de 16 transações ao longo de 16 gerações da seguinte forma:

  • Geração-0: Armazena todas as transações que se comprometeram antes da transação ativa mais antiga. As versões da linha geradas por estas transações estão imediatamente disponíveis para recolha de lixo.

  • Gerações 1-14: Armazena transações com carimbo temporal superior à transação ativa mais antiga. As versões em linha não podem ser recolhidas por lixo. Cada geração pode conter até 16 transações. Podem existir um total de 224 (14 * 16) transações nestas gerações.

  • Geração 15: As transações restantes com carimbo temporal superior à transação ativa mais antiga passam para a geração 15. Tal como na geração 0, não há limite para o número de transações na geração 15.

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

Para obter mais informações, consulte In-Memory OLTP (In-Memory Optimization).

Nome da coluna Tipo Description
cycle_id bigint Um identificador único para o ciclo de recolha de lixo.
ticks_at_cycle_start bigint Tiques na altura em que o ciclo começou.
ticks_at_cycle_end bigint Tiques na altura em que o ciclo terminou.
base_generation bigint O valor atual de geração de base na base de dados. Isto representa o carimbo temporal da transação ativa mais antiga usada para identificar transações para recolha de lixo. O ID de transação ativo mais antigo é atualizado no incremento de 16. Por exemplo, se tiver IDs de transação como 124, 125, 126 ... 139, o valor é 124. Quando adiciona outra transação, por exemplo 140, o valor é 140.
xacts_copied_to_local bigint O número de transações copiadas do pipeline de transações para o array de geração da base de dados.
xacts_in_gen_0 - xacts_in_gen_15 bigint Número de transações em cada geração.

Permissions

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

Permissões para SQL Server 2022 e posterior

É necessária a permissão VIEW DATABASE PERFORMANCE STATE no banco de dados.

Cenário de Utilização

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