Changement du pourcentage d'espace de base de données

Microsoft.SQLServer.Windows.Monitor.Database.RowsSizePercentageChange (UnitMonitor)

Surveille une diminution importante de l'espace libre de la base de données sur un certain nombre de périodes d'échantillonnage. Remarque : Ce moniteur est désactivé par défaut. Utilisez des remplacements pour l'activer en cas de besoin.

Knowledge Base article:

Résumé

Surveille une diminution importante de l'espace libre de la base de données sur un nombre défini de périodes d'échantillonnage. Un changement important et rapide de cette valeur peut indiquer un problème.

Causes

Le fonctionnement anormal est dû à une modification importante de l'espace libre pour un nombre défini de périodes d'échantillonnage. Cela peut être causé par :

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

Aucune croissance automatique

Pour un fichier sans croissance automatique, l'espace libre 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 de fichier et l'espace utilisé, l'espace libre pour les fichiers avec la croissance automatique activée est la valeur minimale de 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 libre, puisque la croissance n'est plus possible.

Résolutions

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

Paramètres remplaçables

Nom

Description

Valeur par défaut

Priorité d'alerte

Définit la priorité de l'alerte.

Normale

Gravité d'alerte

Définit la gravité de l'alerte.

MatchMonitorHealth

Taille maximale des fichiers Azure (Mo)

Taille maximale du fichier de données stocké dans Stockage Blob Azure. Le workflow considère cette valeur comme une capacité de stockage maximale pour chaque fichier.

1048576

Seuil critique

Le moniteur passe à l’état Critique si la valeur dépasse ce seuil. Le moniteur passe à l’état Avertissement si la valeur est comprise entre ce seuil et le seuil d’avertissement inclus.

45

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)

Intervalle régulier (en secondes) auquel exécuter le flux de travail.

900

Nombre d'échantillons

Indique le nombre de dépassements de seuil d'une valeur mesurée avant que l'état soit changé.

5

Heure de synchronisation

Heure de la synchronisation spécifiée selon un format de 24 heures. Peut être omise.

 

Délai d'expiration (secondes)

Spécifie la durée pendant laquelle le flux de travail est autorisé à s’exécuter avant d’être fermé et marqué comme ayant échoué.

300

Seuil d'avertissement

Seuil d'avertissement. Le dépassement de ce seuil a pour effet de basculer le moniteur vers l'état d’avertissement au minimum.

25

Element properties:

TargetMicrosoft.SQLServer.Windows.Database
Parent MonitorMicrosoft.SQLServer.Windows.Rollup.Database.DBSpace
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Windows.MonitorType.Database.DBPercentageChange
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL sur Windows : Changement important du pourcentage total d'espace libre de la base de données
La base de données {2} dans l'instance SQL {1} sur l'ordinateur {0} a subi un changement important d'espace libre. Consultez l'onglet « Contexte de l'alerte » pour plus de détails.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Windows.Monitor.Database.RowsSizePercentageChange" Accessibility="Public" Enabled="false" Target="SqlDiscW!Microsoft.SQLServer.Windows.Database" ParentMonitorID="Microsoft.SQLServer.Windows.Rollup.Database.DBSpace" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.Database.DBPercentageChange" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Windows.Monitor.Database.RowsSizePercentageChange.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.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>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<DatabaseName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
<ObjectName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/PerformanceCounterObject$:TransactionLog</ObjectName>
<CounterName>DB Available Space Total (%)</CounterName>
<PerfInstanceName/>
<ValuePropertyName>DBFreeSpacePercent</ValuePropertyName>
<Threshold1>25</Threshold1>
<Threshold2>45</Threshold2>
<NumSamples>5</NumSamples>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>