Gestohlener Serverarbeitsspeicher

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

Gestohlener Serverarbeitsspeicher für 2014-Datenbankmodul

Knowledge Base article:

Zusammenfassung

Monitor für gestohlenen Serverarbeitsspeicher für SQL 014-Datenbankmodul

Überwacht den Arbeitsspeicher, der vom Server gerade für andere Zwecke als für Datenbankseiten verwendet wird.

Ursachen

Lösungen

SQL Server-Arbeitsspeichermangel außerhalb des Pufferpools kann von vielen Dingen verursacht werden. Führen Sie "DBCC MemoryStatus" oder die Abfrage "sys.dm_os_memory_clerks" aus, um das Problem zu identifizieren.

Ein ausführlicher Blick auf den SQL Server-Arbeitsspeicher

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

Parameter, die außer Kraft gesetzt werden können

Name

Beschreibung

Standardwert

Aktiviert

 

Ja

Generiert Warnungen

 

Ja

Intervall (Sekunden)

Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll.

300

Anzahl der Stichproben

Gibt an, wie oft ein gemessener Wert einen Schwellenwert verletzen soll, bevor der Status geändert wird.

6

Schwellenwert

Wenn das Verhältnis aus gestohlenem Serverarbeitsspeicher/SQL Server diesen Schwellenwert übersteigt, wird eine Warnung erzeugt.

70

Timeout (Sekunden)

Gibt die Zeit an, die der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlgeschlagen markiert wird.

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: Gestohlener Serverarbeitsspeicher ist zu hoch
SQL-Instanz "{0}" gestohlener Serverarbeitsspeicher auf dem Computer "{1}" ist zu hoch. Ausführliche Informationen finden Sie auf der Registerkarte "Warnungskontext".
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>
</Configuration>
</UnitMonitor>