Changement de pourcentage de l'espace de la base de données

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

Analyse un changement important de la valeur de l'espace disponible de la base de données pour un nombre défini de périodes d'échantillonnage.

Knowledge Base article:

Résumé

Analyse un changement important de la valeur de l'espace disponible de la base de données pour un nombre défini de périodes d'échantillonnage. Un changement important et rapide de cette valeur peut indiquer un problème.

Causes

Un fonctionnement anormal est dû à une modification importante de l'espace disponible pour un nombre défini de périodes d'échantillonnage. Cela peut être la conséquence :

Utilisez le lien suivant 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 un groupe de fichiers selon la configuration de chaque fichier :

Pas de croissance automatique

Pour un fichier qui n'a pas de 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 avec la croissance automatique activée est la valeur minimale obtenue en calculant la différence entre la taille maximale ou la taille du fichier et l'espace libre restant sur le disque.

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

Solutions

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

Element properties:

TargetMicrosoft.SQLServer.2008.Database
Parent MonitorMicrosoft.SQLServer.2008.Database.DBSpaceMonitor
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBPercentageChange
RemotableTrue
AccessibilityPublic
Alert Message
Changement de pourcentage important de l'espace libre total de la base de données
La base de données {0} de l'instance SQL {1} de l'ordinateur {2} a subi un changement important de l'espace libre. Pour plus d'informations, consultez l'onglet « contexte de l'alerte ».
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.Database.DBSizePercentageChangeMonitor" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="Microsoft.SQLServer.2008.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBPercentageChange" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.DBSizePercentageChangeMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Success"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Error"/>
</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>25</Threshold1>
<Threshold2>45</Threshold2>
<NumSamples>5</NumSamples>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>