Memoria server prelevata

Microsoft.SQLServer.2014.DBEngine.StolenServerMemoryMonitor (UnitMonitor)

Memoria server prelevata per il motore di database 2014

Knowledge Base article:

Riepilogo

Monitoraggio memoria server prelevata per il motore di database di SQL 2014

Monitoraggio della quantità di memoria attualmente utilizzata dal server per scopi diversi dalle pagine del database.

Cause

Soluzioni

L'esecuzione di richieste di memoria di SQL Server esterne al pool di buffer potrebbe essere causata da vari fattori; eseguire DBCC MEMORYSTATUS o eseguire una query in sys.dm_os_memory_clerks per identificare il problema.

Approfondimenti sulla memoria di SQL Server

http://blogs.msdn.com/b/sqljourney/archive/2013/03/16/an-in-depth-look-at-sql-server-memory-part-3.aspx

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Abilitato

 

Genera avvisi

 

Intervallo (secondi)

Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro.

300

Numero di campioni

Indica quante volte un valore misurato deve violare una soglia prima che venga modificato lo stato.

6

Soglia

Se il rapporto tra memoria server prelevata e memoria massima di SQL Server è maggiore di questa soglia, verrà generato un avviso.

70

Timeout (secondi)

Specifica il tempo di esecuzione consentito per il flusso di lavoro prima che venga chiuso e contrassegnato come non riuscito.

200

Element properties:

TargetMicrosoft.SQLServer.2014.DBEngine
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.DBEngine.StolenServerMemory.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2014: la memoria server prelevata del motore di database è troppo alta
La memoria del server prelevata dell'istanza SQL "{0}" nel computer "{1}" è troppo alta. Per altre informazioni, vedere la scheda relativa al contesto dell'avviso.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.DBEngine.StolenServerMemoryMonitor" Accessibility="Public" Enabled="true" Target="SQL2014Core!Microsoft.SQLServer.2014.DBEngine" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.DBEngine.StolenServerMemory.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.DBEngine.StolenServerMemoryMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<Threshold>70</Threshold>
<NumSamples>6</NumSamples>
<SyncTime/>
</Configuration>
</UnitMonitor>