La surveillance émet un avertissement quand les allocations de mémoire par l'instance SSAS dépassent le seuil d'avertissement configuré, exprimé sous forme de pourcentage du paramètre Limite totale de la mémoire pour l'instance SSAS. La surveillance émet une alerte critique quand ces allocations dépassent le seuil critique configuré.
La surveillance émet un avertissement quand les allocations de mémoire par l'instance SSAS dépassent le seuil d'avertissement configuré, exprimé sous forme de pourcentage du paramètre Limite totale de la mémoire pour l'instance SSAS. La surveillance émet une alerte critique quand ces allocations dépassent le seuil critique configuré.
SSAS peut approcher ou dépasser le paramètre Limite totale de la mémoire dans certaines circonstances. Dans certains cas, une seule opération nécessite une quantité de mémoire supérieure aux limites et, malgré les efforts du serveur pour supprimer de la mémoire les tâches moins immédiates, les allocations peuvent parfois, en cas de nécessité, dépasser les limites configurées. Dans le cas contraire, les opérations peuvent être forcées de s'arrêter.
Cela peut arriver durant le traitement de grandes dimensions ou de données de faits, en particulier s'il existe des attributs avec des types de données qui consomment de grandes quantités d'espace (par exemple des chaînes longues, des données binaires, etc.), ou si la dimension comprend plusieurs membres. De plus, les requêtes exécutées sur le serveur peuvent couvrir de très grands espaces, en particulier si plusieurs dimensions sont soumises à une jointure croisée, ou si des calculs importants sont nécessaires pour dériver les résultats de cellules qui n'ont pas été agrégées par un administrateur aguerri, ou qui n'ont tout simplement pas pu être agrégées à l'avance.
Quand les limites de mémoire d'un serveur sont dépassées, les administrateurs peuvent utiliser différentes approches pour y remédier. Après avoir pris en compte l'activité sous-jacente responsable de l'utilisation de la mémoire, les exigences de la charge de travail sur le serveur, les ressources disponibles et d'autres facteurs, ainsi qu'après avoir soigneusement examiné et pris en compte le Guide des performances multidimensionnelles SSAS ou consulté le Support Microsoft, si nécessaire, les administrateurs peuvent adopter les approches suivantes pour résoudre le problème :
Identifier les sessions responsables des allocations de mémoire les plus importantes et les terminer manuellement.
Identifiez les sessions responsables des allocations de mémoire les plus importantes et examinez-les au cas par cas pour replanifier le traitement des travaux ou des rapports, préallouer les requêtes de mise en route du cache pendant les périodes d'utilisation réduite, ou créer des agrégations spécifiques à l'avance, devant être générées durant le traitement, afin de réduire la consommation de mémoire par les prochaines requêtes utilisateur.
Augmenter la mémoire physique sur l'ordinateur hôte.
Réduisez l'utilisation de la mémoire par les autres processus sur l'ordinateur hôte, par exemple les instances du moteur de base de données relationnelle SQL Server ou d'autres instances de SSAS.
Augmentez le paramètre Limite totale de la mémoire ou les seuils d'alerte configurés pour éviter le problème.
Désactivez entièrement la surveillance, si l'utilisation de mémoire n'est pas un problème sur le serveur.
Documentation TechNet pour les propriétés de mémoire Analysis Services
Configurer les propriétés du serveur dans Analysis Services
Guide des performances multidimensionnelles SSAS
Nom | Description | Valeur par défaut |
Seuil critique (en %) | L'état d'intégrité passe à Critique quand l'utilisation de mémoire Analysis Services (en %) dépasse le seuil. | 95 |
Activé | Active ou désactive le workflow | Oui |
Génère des alertes | Définit si le workflow génère une alerte | Oui |
Intervalle en secondes | L'intervalle de temps récurrent en secondes pendant lequel le workflow est exécuté. | 900 |
Nombre d'échantillons | L'état d'intégrité change si le nombre de dépassement de seuil est supérieur ou égal au nombre minimal de dépassements. | 4 |
Heure de synchronisation | L'heure de synchronisation spécifiée dans un format de 24 heures. Peut être omise. |
|
Délai d'attente (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 |
Seuil d'avertissement (en %) | L'état d'intégrité passe à Avertissement quand l'utilisation de mémoire Analysis Services (en %) dépasse le seuil mais reste sous le seuil critique (en %). | 80 |
Target | Microsoft.SQLServer.2008.AnalysisServices.Instance | ||
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.2008.AnalysisServices.MonitorType.Instance.MemoryUsagePercent | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.MemoryUsage" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.MemoryUsagePercent" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.MemoryUsage.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='MemoryLimitHighGB']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='MemoryLeavesForOsGB']$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='TotalPhysicalMemoryGB']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='MemoryUsageGB']$</AlertParameter4>
<AlertParameter5>$Data/Context/Property[@Name='MemoryUsageByOtherProcessGB']$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='UsedPhysicalMemoryGB']$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='MemoryLimitLowGB']$</AlertParameter7>
<AlertParameter8>$Data/Context/Property[@Name='MemoryLimitLowPercent']$</AlertParameter8>
<AlertParameter9>$Data/Context/Property[@Name='MemoryLimitHighPercent']$</AlertParameter9>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="Above" HealthState="Error"/>
<OperationalState ID="Warning" MonitorTypeStateID="Between" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="Below" HealthState="Success"/>
</OperationalStates>
<Configuration>
<WarningThreshold>80</WarningThreshold>
<CriticalThreshold>95</CriticalThreshold>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>