Stato Garbage Collection (rollup)

Microsoft.SQLServer.2016.DependencyMonitor.Database.GarbageCollectionState (DependencyMonitor)

Il monitoraggio segnala uno stato Critico e genera un avviso se la quantità di spazio usata dalle righe attive in tutti i file di dati con ottimizzazione per la memoria scende sotto l'impostazione della soglia, espressa come percentuale delle dimensioni dei file di dati. Questo monitoraggio è un monitoraggio delle dipendenze (rollup).

Knowledge Base article:

Riepilogo

Nota: questo monitoraggio è un monitoraggio delle dipendenze (rollup). Lo stato di integrità di questo monitoraggio è determinato dallo stato migliore del monitoraggio di uno dei membri. Leggere anche l'articolo della Knowledge Base relativo ai monitoraggi unità correlati.

Questo monitoraggio segnala uno stato Critico e genera un avviso se il fattore di riempimento del Garbage Collector, ovvero una quantità di spazio usata dalle righe attive nei file di dati con ottimizzazione per la memoria, espressa come percentuale delle dimensioni dei file di dati, scende sotto l'impostazione della soglia per tutti i monitoraggi unità correlati.

Il fattore di riempimento di Garbage Collection per il filegroup di dati con ottimizzazione per la memoria rappresenta la metrica che mostra il fattore di riempimento medio tra tutti i file di dati/differenziali attivi contenenti le righe inserite/eliminate. Se questa metrica è inferiore al 50%, indica che l'unione automatica è rimasta indietro. Ciò non rappresenta un problema immediato purché il numero di coppie di file di checkpoint rimanga al di sotto di 8000 e lo spazio di archiviazione disponibile nel filegroup di dati con ottimizzazione per la memoria sia più che sufficiente.

Altre informazioni sono disponibili nella documentazione sys.dm_db_xtp_checkpoint_files (Transact-SQL)

http://go.microsoft.com/fwlink/?LinkId=799285

La sezione relativa al funzionamento di Garbage Collection è disponibile dell'argomento "Creazione e gestione dell'archiviazione per gli oggetti con ottimizzazione per la memoria"

http://go.microsoft.com/fwlink/?LinkId=799286

Cause

L'unione delle coppie di file di checkpoint viene avviata in base ai criteri di unione interni. Per informazioni dettagliate, vedere questo articolo.

Soluzioni

Eseguire un'unione manuale e forzare il processo di Garbage Collection come descritto negli articoli seguenti:

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Abilitato

Abilita o disabilita il flusso di lavoro.

Genera avvisi

Definisce se il flusso di lavoro genera un avviso.

No

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorSystem.Health.PerformanceState
AlgorithmWorstOf
Source MonitorMicrosoft.SQLServer.2016.Monitor.DBFileGroupFx.GarbageCollectionState
RelationshipMicrosoft.SQLServer.2016.RelationshipType.DBHostsDBFileGroupFx
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2016.DependencyMonitor.Database.GarbageCollectionState" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="SQL2016Core!Microsoft.SQLServer.2016.RelationshipType.DBHostsDBFileGroupFx" MemberMonitor="Microsoft.SQLServer.2016.Monitor.DBFileGroupFx.GarbageCollectionState">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>