L'analyse passe en état critique et émet une alerte si la quantité d'espace utilisé par les lignes actives dans tous les fichiers de données en mémoire passe sous le paramètre de seuil, exprimé sous forme de pourcentage de la taille des fichiers de données.
L’analyse passe à l’état critique et déclenche une alerte si le facteur de remplissage du récupérateur de mémoire (la quantité d’espace utilisé par les lignes actives dans les fichiers de données en mémoire, exprimée sous forme de pourcentage de la taille des fichiers de données) passe sous le paramètre de seuil.
Le facteur de remplissage du nettoyage de la mémoire pour le groupe de fichiers de données à mémoire optimisée est une mesure montrant le facteur de remplissage moyen pour tous les fichiers de données/delta actifs comprenant des lignes insérées/supprimées. Si cette mesure est inférieure à 50 %, cela indique que la fusion automatique prend du retard. Cela ne pose pas de problème immédiat tant que le nombre de paires de fichiers de point de contrôle est inférieur à 8 000 et que vous disposez de suffisamment d’espace de stockage disponible pour le groupe de fichiers à mémoire optimisée en mémoire.
Vous trouverez des informations supplémentaires dans la documentation de sys.dm_db_xtp_checkpoint_files (Transact-SQL)
http://msdn.microsoft.com/library/dn133201%28v=sql.120%29.aspx
La section « Comment fonctionne le nettoyage de la mémoire » est disponible dans le sujet « Création et gestion du stockage pour les objets à mémoire optimisée »
http://msdn.microsoft.com/library/dn133174%28v=sql.120%29.aspx
La fusion des paires de fichiers de points de contrôle est déclenchée selon une stratégie de fusion interne. Consultez cet article pour obtenir plus d’informations.
Exécutez une fusion manuelle et forcez le nettoyage de mémoire comme décrit dans les articles suivants :
Analyse et dépannage de la fusion pour les paires de fichiers de données et de fichiers delta
Forcer le nettoyage de la mémoire sur les fichiers de données fusionnés
.
Nom | Description | Valeur par défaut |
Activé |
| Oui |
Génère des alertes |
| Oui |
Intervalle (en secondes) | L'intervalle de temps récurrent en secondes pendant lequel le workflow est exécuté. | 900 |
Retard du script (en millisecondes) | Ce paramètre définit le délai entre les requêtes T-SQL consécutives exécutées par le workflow. Cela peut aider à réduire l'encombrement généré par le workflow s'il existe un nombre important d'objets cible. Veuillez consulter le support de Microsoft avant de modifier ce paramètre. | 0 |
Heure de synchronisation | L'heure de synchronisation spécifiée dans un format de 24 heures. Peut être omise. |
|
Seuil | La valeur collectée sera comparée avec ce paramètre. | 50 |
Délai d'expiration (en secondes) | Spécifie la durée pendant laquelle le workflow est autorisé à être exécuté avant d'être fermé et marqué comme un échec. | 300 |
Target | Microsoft.SQLServer.2014.DBFileGroupFx | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.MonitorType.DBFileGroupFx.GarbageCollectionState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.Monitor.DBFileGroupFx.GarbageCollectionState" Target="SQL2014Core!Microsoft.SQLServer.2014.DBFileGroupFx" ParentMonitorID="SystemHealth!System.Health.PerformanceState" TypeID="Microsoft.SQLServer.2014.MonitorType.DBFileGroupFx.GarbageCollectionState" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Monitor.DBFileGroupFx.GarbageCollectionState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.FileGroup"]/GroupName$</AlertParameter4>
<AlertParameter5>$Data/Context/Property[@Name='StorageUsageFillFactor']$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Critical" MonitorTypeStateID="Critical" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ServerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</SqlInstanceName>
<DatabaseName>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</DatabaseName>
<Value>Property[@Name='StorageUsageFillFactor']</Value>
<Threshold>50</Threshold>
<TimeoutSeconds>300</TimeoutSeconds>
<ScriptDelayMsec>0</ScriptDelayMsec>
</Configuration>
</UnitMonitor>