Datenbanksicherungsstatus

Microsoft.SQLServer.Linux.Monitor.Database.DBBackupStatus (UnitMonitor)

Dieser Monitor überprüft den von Microsoft SQL Server gemeldeten Datenbanksicherungsstatus. Hinweis: Dieser Monitor ist standardmäßig deaktiviert. Verwenden Sie bei Bedarf Außerkraftsetzungen, um ihn zu aktivieren.

Knowledge Base article:

Zusammenfassung

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

Ursachen

Datenbank wurde zu lange nicht 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 entsprechend den Anwendungs- und Geschäftsanforderungen zu planen.

Zusätzlich

Der Monitor für den Datenbanksicherungsstatus verfügt über keine Logik zur Nachverfolgung, 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 Ihre Umgebung aktivieren möchten, empfiehlt es sich, 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)

Die angestrebte Sicherungshäufigkeit in Tagen. Der Wert sollte gemäß Ihrer Recovery Point Objective (RPO) festgelegt werden.

7

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Generiert Warnungen

Definiert, ob der Workflow eine Warnung generiert.

Ja

Intervall (Sekunden)

Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an.

86400

Synchronisierungszeit

Die Synchronisierungszeit, angegeben im 24-Stunden-Format. Dieser Wert kann ausgelassen werden.

 

Timeout (Sekunden)

Gibt die Zeit an, zu der der Workflow ausgeführt werden dann, bevor er geschlossen und als fehlerhaft markiert wird.

300

Timeout für Datenbankverbindung (Sekunden)

Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.Database
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Linux.MonitorType.Database.DBBackupStatus
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL für Linux: Datenbanksicherung steht aus
Die Datenbank "{2}" in der SQL Server-Instanz "{1}" auf dem Computer "{0}" wurde seit {3} Tagen nicht gesichert.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Linux.Monitor.Database.DBBackupStatus" Accessibility="Public" Enabled="false" Target="SqlDiscL!Microsoft.SQLServer.Linux.Database" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Linux.MonitorType.Database.DBBackupStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Linux.Monitor.Database.DBBackupStatus.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</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>
<AlertParameter4>$Data/Context/Property[@Name='DaysSinceBackup']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" 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>
<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>
<DatabaseName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<Threshold>7</Threshold>
<IntervalSeconds>86400</IntervalSeconds>
<SyncTime/>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>