Status der Datenbanksicherung

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

Dieser Monitor überprüft den von Microsoft® SQL Server™ gemeldeten Datenbanksicherungsstatus.

Knowledge Base article:

Zusammenfassung

Dieser Monitor überprüft das Vorhandensein und das Alter der Datenbanksicherung, wie von Microsoft® SQL Server™ gemeldet. Dazu wird eine Abfrage für die master-Datenbank der SQL-Instanz ausgeführt, und das Alter der Datenbanksicherung wird zurückgegeben.

Ursachen

Datenbank wurde vor nicht allzu langer Zeit gesichert.

Lösungen

Sie sollten eine Datenbanksicherung ausführen, um das Problem zu beheben.

Um dieses Problem in Zukunft auszuschließen, wird empfohlen, eine automatisierte Sicherung gemäß den Anforderungen der Anwendungs- und Geschäftsanforderungen zu planen.

Extern

Der Monitor für den Datenbanksicherungsstatus verfügt über keine Logik zum Nachverfolgen, ob es sich bei der Datenbank um ein sekundäres Replikat handelt oder nicht.

Da AOG über eine erweiterte Sicherungslogik verfügt, die eine Sicherung für mindestens eine der beteiligten Datenbanken erforderlich macht, werden vom Monitor möglicherweise falsch positive Warnungen generiert.

Der Monitor ist standardmäßig deaktiviert. Wenn Sie das Überwachungsszenario für die Umgebung aktivieren möchten, ist es empfehlenswert, den Monitor für alle Server deaktiviert zu lassen, die nicht zum Speichern der Datenbanksicherung verwendet werden.

Extern

Best Practice-Empfehlungen für SQL Server-Datenbanksicherungen

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Warnungspriorität

Definiert die Warnungspriorität.

Normal

Warnungsschweregrad

Definiert den Warnungsschweregrad.

Fehler

Sicherungszeitraum (Tage)

Sicherungszeitraum

7

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Nein

Generiert Warnungen

Definiert, ob der Workflow eine Warnung generiert.

Ja

Intervall (Sekunden)

Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll.

86400

Synchronisierungszeit

Die Synchronisierungszeit, angegeben im 24-Stunden-Format. Kann ausgelassen werden.

 

Timeout (Sekunden)

Gibt an, wie lange der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlerhaft markiert wird.

300

Element properties:

TargetMicrosoft.SQLServer.2012.Database
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.DBBackupStatus
RemotableTrue
AccessibilityPublic
Alert Message
Datenbanksicherung sollte ausgeführt werden
Datenbank "{2}" in der SQL Server-Instanz "{1}" auf dem Computer "{0}" wurde {3} Tage lang nicht gesichert.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.Database.DBBackupStatusMonitor" Accessibility="Public" Enabled="false" Target="SQL2012Core!Microsoft.SQLServer.2012.Database" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.DBBackupStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.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>