Mémoire détournée du serveur

Microsoft.SQLServer.Windows.Monitor.DBEngine.StolenServerMemory (UnitMonitor)

Mémoire détournée du serveur du moteur de base de données

Knowledge Base article:

Récapitulatif

Moniteur de la mémoire détournée du serveur pour le moteur de base de données SQL

Surveille la quantité de mémoire actuellement utilisée par le serveur pour des éléments autres que les pages de base de données.

Causes

Résolutions

La sollicitation de mémoire SQL Server en dehors du pool de mémoires tampons peut avoir de nombreuses raisons, exécutez DBCC MemoryStatus ou la requête sys.dm_os_memory_clerks pour identifier le problème.

Paramètres remplaçables

Nom

Description

Valeur par défaut

Priorité d'alerte

Définit la priorité de l'alerte.

Normale

Gravité d'alerte

Définit la gravité de l'alerte.

Erreur

Activé

Active ou désactive le flux de travail.

Oui

Génère des alertes

Définit si le flux de travail génère une alerte.

Oui

Intervalle (en secondes)

Intervalle régulier (en secondes) auquel exécuter le flux de travail.

300

Nombre d'échantillons

Indique le nombre de dépassements de seuil d'une valeur mesurée avant que l'état soit changé.

6

Heure de synchronisation

Heure de la synchronisation spécifiée selon un format de 24 heures. Peut être omise.

 

Seuil

Une alerte est déclenchée si le ratio mémoire détournée/mémoire maximale SQL Server dépasse ce seuil.

70

Délai d'expiration (secondes)

Spécifie la durée pendant laquelle le flux de travail est autorisé à s’exécuter avant d’être fermé et marqué comme ayant échoué.

200

Délai d’attente pour la connexion de base de données (secondes)

Le workflow échoue et enregistre un événement s’il ne peut pas accéder à la base de données pendant la période spécifiée.

15

Element properties:

TargetMicrosoft.SQLServer.Windows.DBEngine
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Windows.MonitorType.DBEngine.StolenServerMemory
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL sur Windows : La mémoire détournée du serveur est trop élevée
La mémoire détournée du serveur de l'instance SQL « {0} » sur l'ordinateur « {1} » est trop élevée. Consultez l'onglet « Contexte de l'alerte » pour plus de détails.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Windows.Monitor.DBEngine.StolenServerMemory" Accessibility="Public" Enabled="true" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.DBEngine.StolenServerMemory" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Windows.Monitor.DBEngine.StolenServerMemory.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<PerformanceCounterObject>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/PerformanceCounterObject$</PerformanceCounterObject>
<Threshold>70</Threshold>
<NumSamples>6</NumSamples>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>