Состояние резервного копирования базы данных

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

Этот монитор проверяет состояние резервной копии базы данных по данным Microsoft® SQL Server™.

Knowledge Base article:

Сводка

Этот монитор проверяет существование и возраст резервной копии базы данных по отчету Microsoft® SQL Server™. Это выполняется путем отправки запроса к базе данных master экземпляра SQL Server и возвращения сведений о возрасте резервной копии базы данных.

Причины

Для базы данных слишком давно не создавалась резервная копия.

Решения

Необходимо выполнить резервное копирование базы данных, чтобы устранить проблему.

Для устранения этой проблемы в будущем рекомендуется запланировать автоматическое резервное копирование в соответствии с потребностями приложения и бизнес-требованиями.

Внешнее

Монитор состояния резервного копирования базы данных не имеет логики для отслеживания, является ли база данных вторичной репликой или нет.

Так как группа доступности AlwaysOn имеет расширенную логику резервного копирования, которая требует резервного копирования по крайней мере одной базы данных, монитор может генерировать ложные положительные предупреждения.

По умолчанию монитор отключен. В случае необходимости включения сценария наблюдения для вашей среды рекомендуется оставить наблюдение отключенным на всех серверах, которые не используются для хранения резервной копии базы данных.

Внешнее

Рекомендации по резервному копированию базы данных SQL Server

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
Должно быть выполнено резервное копирование базы данных
Для базы данных "{2}" в экземпляре SQL Server "{1}" на компьютере "{0}" резервная копия не создавалась {3} суток.
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>