L'analyse émet un avertissement lorsque l'espace disque disponible pour le conteneur de groupe de fichiers OLTP en mémoire est inférieur au paramètre de seuil d'avertissement, exprimé sous forme de pourcentage de la somme de la taille du conteneur de groupe de fichiers OLTP en mémoire et de l'espace disque libre. L'analyse émet un état critique lorsque l'espace disponible est inférieur au seuil critique.
L'analyse émet un avertissement lorsque l'espace disque disponible pour le conteneur de groupe de fichiers OLTP en mémoire est inférieur au paramètre de seuil d'avertissement, exprimé sous forme de pourcentage de la somme de la taille du conteneur de groupe de fichiers OLTP en mémoire et de l'espace disque libre. L'analyse émet un état critique lorsque l'espace disponible est inférieur au seuil critique.
Le dossier des conteneurs de groupes de fichiers OLTP en mémoire croît généralement dans le temps au fur et à mesure de l’ajout de données au sein des tables en mémoire. De ce fait, il incombe aux administrateurs de procéder à des analyses afin de s’assurer qu’il reste suffisamment d’espace dans l’emplacement de stockage pour le dossier des conteneurs.
Lorsque l’espace disque disponible sur le lecteur où est configuré l’emplacement de stockage de la base de données devient trop faible, des défaillances peuvent se produire et empêcher le traitement efficace des données, retarder les requêtes des utilisateurs ou affecter d’autres applications qui partagent la même allocation d’espace disque.
Le stockage est alloué en tant que partie des opérations DML des tables à mémoire optimisée durables. Il convient de configurer le stockage pour atteindre jusqu’à 4 fois la taille en mémoire des tables à mémoire optimisée durables. Si vous avez configuré le stockage de manière adéquate, mais que l’espace de stockage libre reste faible, il est possible que les IOPS prises en charge par les conteneurs ne puissent pas prendre en charge la demande de la charge de travail. Il est généralement recommandé que les conteneurs prennent en charge 3 fois les IOPS du taux de génération de données afin de constituer la population initiale des fichiers de données/delta et pour l’opération de fusion automatique nécessitant la lecture des fichiers de données/delta sources, puis de les fusionner en une CFP cible.
La solution pour un espace disque disponible faible dépend des causes principales, qui doivent être analysées chaque fois que ce problème apparaît. Le problème peut être soulagé par une des nombreuses approches possibles :
Diminuez la quantité de données stockées dans les tables en mémoire.
Retirez les données consommant de l’espace disque sur le même lecteur que le dossier des conteneurs de groupes de fichiers OLTP en mémoire.
Ajoutez un conteneur au groupe de fichiers OLTP en mémoire.
Augmentez la taille du lecteur logique sur lequel le dossier de conteneurs de groupes de fichiers OLTP en mémoire est stocké avec le gestionnaire de disque.
Copiez le dossier des conteneurs de groupes de fichiers OLTP en mémoire dans son intégralité vers un nouveau lecteur comprenant plus d’espace disponible.
Modifier les seuils selon vos besoins afin qu'ils conviennent à la charge de travail et aux conditions attendues dans l'environnement.
Désactiver l'analyse entièrement si l'espace disque n'est pas un problème pour l'instance.
Nom | Description | Valeur par défaut |
Seuil critique | L'analyse passera en état « Critique » si la valeur tombe sous ce seuil. | 10 |
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. |
|
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 |
Seuil d'avertissement | L'analyse passera en état « Avertissement » si la valeur tombe sous ce seuil. | 20 |
Target | Microsoft.SQLServer.2014.Container | ||
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.Container.FreeSpacePercent | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.Monitor.Container.FreeSpacePercent" Target="SQL2014Core!Microsoft.SQLServer.2014.Container" ParentMonitorID="SystemHealth!System.Health.PerformanceState" TypeID="Microsoft.SQLServer.2014.MonitorType.Container.FreeSpacePercent" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Monitor.Container.FreeSpacePercent.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Container"]/ContainerName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.FileGroup"]/GroupName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</AlertParameter3>
<AlertParameter4>$Target/Host/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</AlertParameter4>
<AlertParameter5>$Target/Host/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Container"]/ContainerStorage$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='DriveTotalSizeMB']$</AlertParameter7>
<AlertParameter8>$Data/Context/Property[@Name='FreeSpacePercent']$</AlertParameter8>
<AlertParameter9>$Data/Context/Property[@Name='FreeSpaceSpaceMB']$</AlertParameter9>
<AlertParameter10>$Data/Context/Property[@Name='AllocatedSizeMB']$</AlertParameter10>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Critical" MonitorTypeStateID="ContainerFreeSpaceCritical" HealthState="Error"/>
<OperationalState ID="Warning" MonitorTypeStateID="ContainerFreeSpaceWarning" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="ContainerFreeSpaceSuccess" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</SqlInstanceName>
<DatabaseName>$Target/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</DatabaseName>
<DBFileId>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Container"]/ContainerID$</DBFileId>
<Value>Property[@Name='FreeSpacePercent']</Value>
<CriticalThreshold>10</CriticalThreshold>
<WarningThreshold>20</WarningThreshold>
<TimeoutSeconds>300</TimeoutSeconds>
<ScriptDelayMsec>0</ScriptDelayMsec>
</Configuration>
</UnitMonitor>