Espace total de la base de données

Microsoft.SQLServer.2008.Database.DBSizePercentMonitor (UnitMonitor)

Analyse l'espace disponible dans la base de données et sur le support qui l'héberge en pourcentage.

Knowledge Base article:

Résumé

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 seulement si la croissance automatique est activée pour au moins un des fichiers.

Causes

L'état défectueux est dû à un espace disponible faible pour l'ensemble des fichiers de base de données. Un espace disponible faible peut être provoqué par :

Utilisez les liens suivants pour consulter les données de performances : Données de performances de la base de données

Ce moniteur 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 aussi 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 disponible, puisque la croissance n'est plus possible.

Solutions

Ce problème peut être résolu en :

Consultez la documentation en ligne de SQL Server : Architecture des fichiers et des groupes de fichiers

Paramètres remplaçables

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

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

Seuil inférieur

Le seuil inférieur pour ce moniteur.

10

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 supérieur

Le seuil supérieur pour ce moniteur.

20

Element properties:

TargetMicrosoft.SQLServer.2008.Database
Parent MonitorMicrosoft.SQLServer.2008.Database.DBSpaceMonitor
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBAndLogSizeMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Espace de base de données saturé
L'espace est insuffisant pour la base de données « {0} » de l'instance SQL « {1} » de l'ordinateur « {2} ». Pour plus d'informations, consultez l'onglet « contexte de l'alerte ».
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.Database.DBSizePercentMonitor" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="Microsoft.SQLServer.2008.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBAndLogSizeMonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.DBSizePercentMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.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="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/PerformanceCounterObject$:Database</ObjectName>
<CounterName>DB Total Free Space (%)</CounterName>
<InstanceName>$Data/Property[@Name='Database']$</InstanceName>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBFreeSpacePercent']$</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>