Surveille l’espace disponible dans la base de données et sur le support qui l’héberge en pourcentage. Remarque : ce moniteur est désactivé par défaut. Utilisez des remplacements afin de l’activer, le cas échéant. Ce moniteur ne compte pas l’espace libre des groupes de fichiers FILESTREAM et des données à mémoire optimisée.
Surveille l'espace disponible dans la base de données et sur le support qui l'héberge. L'espace disponible sur le support hébergeant la base de données est inclus dans l'espace disponible uniquement si la croissance automatique est activée pour au moins l'un des fichiers. Ce moniteur ne compte pas l’espace libre des groupes de fichiers FILESTREAM et des données à mémoire optimisée.
Le fonctionnement anormal est dû à un espace libre insuffisant pour l'ensemble des fichiers de base de données. Un espace libre insuffisant peut être causé par :
de paramètres de configuration de fichiers inadéquats (taille, taille maximum, croissance automatique, etc.) ;
d'un espace restant sur le support inadéquat.
Utilisez les liens suivants pour consulter les données de performances : Données de performances de la base de données
Cette analyse agrège l'espace disponible pour chaque fichier dans une base de données selon la configuration de chaque fichier :
Pas de croissance automatique
Pour un fichier sans croissance automatique, l'espace disponible est la différence entre la taille initiale d'un fichier et l'espace utilisé.
Croissance automatique activée
En plus de la différence entre la taille du fichier et l'espace utilisé, l'espace disponible pour les fichiers ayant la croissance automatique activée est la valeur minimale de la différence entre la taille maximale et la taille du fichier, ou l'espace libre restant sur le disque.
Un espace disponible faible pour les fichiers de base de données avec croissance automatique activée peut signifier que le fichier est proche des limites du lecteur logique hôte. Pour les fichiers dont la croissance automatique est activée avec une taille maximale, un espace disponible faible peut aussi signifier que le fichier est proche de la taille maximale spécifiée pour un fichier.
Les calculs d'espace disponible tiennent aussi compte du fait que le fichier peut ne pas réussir à croître si le volume de croissance du fichier est supérieur à celui restant disponible sur le disque et du fait que le fichier ne peut pas croître si la différence entre la taille maximale et la taille actuelle du fichier est inférieure au volume de croissance. Dans ces cas, l'espace libre restant sur le disque n'est pas inclus dans l'espace libre, puisque la croissance n'est plus possible.
Ce problème peut être résolu en :
Un accroissement de la taille allouée pour un ou plusieurs fichiers d'un groupe de fichiers si la croissance automatique est désactivée
augmentant la valeur de taille maximale pour un fichier si la croissance automatique est activée ;
activant la croissance automatique pour au moins un fichier ;
déplaçant les fichiers vers un autre lecteur disposant de davantage d'espace libre si l'espace de croissance est limité ;
modifiant les seuils de cette analyse pour les adapter à la charge de travail.
Sinon, si l'espace total de la base de données n'est pas un critère important :
Désactiver ce moniteur pour ce groupe de fichiers spécifique ou pour tous les groupes de fichiers
Consultez la documentation en ligne de SQL Server : Architecture des fichiers et des groupes de fichiers
Nom | Description | Valeur par défaut |
Priorité de l'alerte | Définit la priorité de l'alerte. | Élevé |
Gravité de l'alerte | Définit la gravité de l'alerte. | MatchMonitorHealth |
Taille de fichier Azure maximale (en Mo) | La taille maximale du fichier de données stocké dans le service de stockage des objets blob Azure. Le workflow considérera cette valeur comme une capacité de stockage maximale pour chaque fichier. | 1048576 |
Seuil critique | Le moniteur passe à l'état Critique si la valeur tombe sous ce seuil. L’état d’avertissement est attribué au moniteur si la valeur est comprise entre ce seuil et le seuil d’avertissement inclus. | 10 |
Activé | Active ou désactive le flux de travail. | Non |
Génère des alertes | Définit si le flux de travail 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 |
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 | Le moniteur passe à l’état Avertissement si la valeur tombe sous ce seuil. | 20 |
Target | Microsoft.SQLServer.2016.Database | ||
Parent Monitor | Microsoft.SQLServer.2016.Database.DBSpaceMonitor | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | High | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2016.DBAndLogSizeMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2016.Database.DBSizePercentMonitor" Accessibility="Public" Enabled="false" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="Microsoft.SQLServer.2016.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBAndLogSizeMonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Database.DBSizePercentMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Error"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>SQL Database</ObjectName>
<CounterName>DB Available Space Total (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBFreeSpacePercent']$</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
</Configuration>
</UnitMonitor>