Memoria server prelevata

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

Memoria server prelevata per il motore di database 2008

Knowledge Base article:

Riepilogo

Monitoraggio memoria server prelevata per motore di database SQL 2008

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://go.microsoft.com/fwlink/?LinkId=789163

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.

Errore

Abilitato

Abilita o disabilita il flusso di lavoro.

Genera avvisi

Definisce se il flusso di lavoro genera un avviso.

Intervallo (secondi)

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

300

Numero di campioni

Numero di campioni di cui calcolare la media prima del confronto con la soglia

6

Ora di sincronizzazione

Ora di sincronizzazione specificata usando il formato a 24 ore. Può essere omessa.

00:12

Soglia

Se il rapporto tra memoria server prelevata e memoria massima di SQL Server è maggiore di questa soglia, viene 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.2008.DBEngine
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBEngine.StolenServerMemory.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
La memoria server prelevata del motore di database SQL 2008 è troppo alta
La memoria del server prelevata dell'istanza SQL "{0}" nel computer "{1}" è troppo alta. Per ulteriori informazioni, vedere la scheda relativa al contesto dell'avviso.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.DBEngine.StolenServerMemoryMonitor" Accessibility="Public" Enabled="true" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBEngine.StolenServerMemory.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.DBEngine.StolenServerMemoryMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.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>