État de la sauvegarde de base de données

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

Cette analyse vérifie l'état de la sauvegarde de base de données, comme indiqué par Microsoft® SQL Server™.

Knowledge Base article:

Résumé

Ce moniteur vérifie l'existence et l'âge de la sauvegarde de base de données, comme indiqué par Microsoft® SQL Server™. Cette opération est effectuée en exécutant une requête sur la base de données MASTER de l'instance SQL et en retournant l'âge de la sauvegarde de base de données.

Causes

La base de données n'a pas été sauvegardée pendant trop longtemps.

Solutions

Vous devez effectuer une sauvegarde de la base de données pour résoudre le problème.

Pour éviter ce problème à l'avenir, il est recommandé de planifier une sauvegarde automatisée en fonction des besoins de l'application et des exigences de l'entreprise.

Externe

La surveillance du statut de la sauvegarde n'a pas de logique pour savoir si la base de données est ou non un réplica secondaire.

Comme AOG possède une logique de sauvegarde avancée nécessitant une sauvegarde pour au moins une des bases de données concernées, l'analyse peut générer des alertes qui sont des faux positifs.

L'analyse est désactivée par défaut. Si vous souhaitez activer le scénario d'analyse pour votre environnement, il est recommandé de garder l'analyse désactivée pour tous les serveurs qui ne sont pas utilisés pour stocker la sauvegarde de base de données.

Externe

Recommandations des bonnes pratiques pour les sauvegardes de base de données SQL Server

Paramètres remplaçables

Nom

Description

Valeur par défaut

Priorité de l'alerte

Définit la priorité de l'alerte.

Normal

Gravité de l'alerte

Définit la gravité de l'alerte.

Erreur

Période de sauvegarde (jours)

Période de sauvegarde

7

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é.

86400

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

Element properties:

TargetMicrosoft.SQLServer.2008.Database
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBBackupStatus
RemotableTrue
AccessibilityPublic
Alert Message
La sauvegarde de la base de données doit être effectuée
La base de données « {2} » dans l'instance de SQL Server « {1} » sur l'ordinateur « {0} » n'a pas été sauvegardée depuis {3} jours.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.Database.DBBackupStatusMonitor" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBBackupStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.DBBackupStatusMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</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>
<AlertParameter4>$Data/Context/Property[@Name='$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<Threshold>7</Threshold>
<IntervalSeconds>86400</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>