Spazio del contenitore del filegroup di dati con ottimizzazione per la memoria del database (rollup)

Microsoft.SQLServer.2016.DependencyMonitor.DBFileGroupFx.ContainerFreeSpacePercentRollUp (DependencyMonitor)

Il monitoraggio restituisce un avviso quando lo spazio disponibile su disco per tutti i contenitori del filegroup di dati con ottimizzazione per la memoria scende sotto l'impostazione della soglia di avviso, espressa come percentuale della somma delle dimensioni dei contenitori del filegroup di dati con ottimizzazione per la memoria e dello spazio disponibile su disco. Il monitoraggio segnala uno stato critico quando lo spazio disponibile scende sotto la soglia critica. 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.

Il monitoraggio restituisce un avviso quando lo spazio disponibile su disco per tutti i contenitori del filegroup di dati con ottimizzazione per la memoria scende sotto l'impostazione della soglia di avviso, espressa come percentuale della somma delle dimensioni dei contenitori del filegroup di dati con ottimizzazione per la memoria e dello spazio disponibile su disco. Il monitoraggio segnala uno stato critico quando lo spazio disponibile scende sotto la soglia critica.

Le dimensioni della cartella dei contenitori del filegroup di dati con ottimizzazione per la memoria aumentano in genere nel tempo in seguito all'aggiunta di dati nelle tabelle dati con ottimizzazione per la memoria. Di conseguenza, gli amministratori dovranno garantire che vi sia sempre spazio sufficiente nella posizione di archiviazione della cartella dei contenitori.

Cause

Quando lo spazio disponibile su disco nell'unità in cui è configurata la posizione di archiviazione del database diventa troppo basso, possono verificarsi alcuni errori impedendo la corretta elaborazione dei dati, ritardando le query dell'utente o influendo anche sulle altre applicazioni che condividono la stessa allocazione dello spazio su disco.

Lo spazio di archiviazione viene allocato come parte delle operazioni DML nelle tabelle con ottimizzazione per la memoria durevoli. È necessario configurare lo spazio di archiviazione fino a 4 volte le dimensioni dei dati con ottimizzazione per la memoria delle tabelle con ottimizzazione per la memoria durevoli. Se lo spazio di archiviazione è stato configurato correttamente ma si verificano ancora errori di spazio di archiviazione disponibile insufficiente, è possibile che le operazioni di input/output al secondo supportate dai contenitori non siano in grado di supportare la richiesta del carico di lavoro. Una raccomandazione generale per i contenitori è quella di supportare operazioni di input/output al secondo con una velocità 3 volte quella di generazione dei dati in modo da includere il popolamento iniziale dei file di dati/differenziali e l'operazione di unione automatica che deve leggere i file di dati/differenziali di origine e quindi unirli in una coppia di file di checkpoint.

Soluzioni

Le risoluzioni per lo spazio insufficiente disponibile su disco dipendono dalle cause principali che devono essere investigate caso per caso quando si verifica tale problema. È possibile provare a risolvere tale condizione adottando uno dei tanti approcci potenziali:

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Priorità avviso

Definisce la priorità dell'avviso.

Normale

Gravità avviso

Definisce la gravità dell'avviso.

MatchMonitorHealth

Abilitato

Abilita o disabilita il flusso di lavoro.

Genera avvisi

Definisce se il flusso di lavoro genera un avviso.

Element properties:

TargetMicrosoft.SQLServer.2016.DBFileGroupFx
Parent MonitorMicrosoft.SQLServer.2016.AggregateMonitor.DBFileGroupFx.SpaceMonitor
AlgorithmBestOf
Source MonitorMicrosoft.SQLServer.2016.Monitor.Container.FreeSpacePercent
RelationshipMicrosoft.SQLServer.2016.DBFileGroupFxHostsContainer
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: Lo spazio del contenitore del filegroup di dati con ottimizzazione per la memoria è quasi esaurito
Lo spazio disponibile del filegroup di dati con ottimizzazione per la memoria "{0}" per il database "{1}" nell'istanza di SQL "{2}" nel computer "{3}" è quasi esaurito. Controllare lo stato dei monitoraggi unità per determinare la causa principale.
Per altre informazioni, vedere la sezione relativa alla documentazione.

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2016.DependencyMonitor.DBFileGroupFx.ContainerFreeSpacePercentRollUp" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFx" ParentMonitorID="Microsoft.SQLServer.2016.AggregateMonitor.DBFileGroupFx.SpaceMonitor" Remotable="true" Priority="Normal" RelationshipType="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFxHostsContainer" MemberMonitor="Microsoft.SQLServer.2016.Monitor.Container.FreeSpacePercent">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.DependencyMonitor.DBFileGroupFx.ContainerFreeSpacePercentRollUp.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.FileGroup"]/GroupName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter3>
<AlertParameter4>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<Algorithm>BestOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>