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

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

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

Knowledge Base article:

Сводка

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

Причины

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

Решения

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

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

Внешнее

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

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

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

Внешнее

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

Переопределяемые параметры

Имя

Описание

Значение по умолчанию

Приоритет предупреждения

Определяет приоритет предупреждения.

Обычные

Серьезность предупреждения

Определяет серьезность предупреждения.

Ошибка

Период резервного копирования (дни)

Период резервного копирования

7

Включено

Включает или отключает рабочий процесс.

Нет

Создает предупреждения

Определяет, создает ли рабочий процесс предупреждения.

Да

Интервал (в секундах)

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

86400

Время синхронизации

Время синхронизации в 24-часовом формате. Может быть опущено.

 

Время ожидания (секунды)

Задает допустимое время выполнения рабочего процесса, перед тем как он будет закрыт и отмечен как сбойный.

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