Utilizzo di memoria del pool di risorse (rollup)

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

Il monitoraggio segnala uno stato Critico e genera un avviso quando la quantità di memoria usata dal pool di risorse è maggiore dell'impostazione della soglia, espressa come percentuale della memoria disponibile per le tabelle dati con ottimizzazione per la memoria per il pool di risorse specifico. Questo monitoraggio è un monitoraggio delle dipendenze (rollup).

Knowledge Base article:

Riepilogo

Il monitoraggio segnala uno stato critico quando la quantità di memoria usata dal pool di risorse è maggiore dell'impostazione della soglia, espressa come percentuale della memoria disponibile per le tabelle dati con ottimizzazione per la memoria per il pool di risorse specifico. Questo monitoraggio è un monitoraggio delle dipendenze (rollup).

Il pool di risorse denominato quando viene mappato a un database con ottimizzazione per la memoria tiene traccia della memoria allocata a tutte le tabelle con ottimizzazione per la memoria, comprese le tabelle interne usate per diverse strutture all'interno del motore di dati con ottimizzazione per la memoria.

Cause

I dati con ottimizzazione per la memoria di SQL Server usano più memoria e in maniera diversa rispetto a SQL Server. È possibile che la quantità di memoria installata e allocata per i dati con ottimizzazione per la memoria diventi insufficiente per soddisfare le esigenze crescenti. In tal caso, potrebbero verificarsi problemi a causa della memoria esaurita.

Per informazioni dettagliate, vedere l'articolo seguente: Associazione di un database con tabelle con ottimizzazione per la memoria a un pool di risorse.

Soluzioni

Per risolvere la condizione di memoria insufficiente o esaurita, è necessario liberare parte della memoria esistente riducendone l'uso o rendere disponibile più memoria alle tabelle dati con ottimizzazione per la memoria. Le possibili azioni correttive possono includere:

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.UserResourcePool.MemoryConsumption
RelationshipMicrosoft.SQLServer.2016.RelationshipType.DatabaseReferencesUserResourcePool
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
RemotableTrue
AccessibilityPublic

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2016.DependencyMonitor.Database.MemoryConsumptionRollUp" 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.DatabaseReferencesUserResourcePool" MemberMonitor="Microsoft.SQLServer.2016.Monitor.UserResourcePool.MemoryConsumption">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>