Этот монитор проверяет состояние базы данных по данным Microsoft® SQL Server™.
Этот монитор проверяет состояние базы данных в соответствии с отчетом Microsoft® SQL Server™. Для проверки выполняется запрос к базе данных master экземпляра SQL Server и возвращается состояние базы данных. При получении предупреждения от этого монитора необходимо предпринять действия по возврату базы данных в рабочее состояние.
Неисправное состояние указывает на то, что база данных SQL Server™ сейчас недоступна. Все состояния зеркальных отображений базы данных, за исключением ONLINE и RESTORING, соответствуют неработоспособному состоянию. Возможные состояния описаны ниже:
Состояние базы данных SQL | Описание | Состояние работоспособности MOM |
ONLINE | База данных доступна. Первичная файловая группа находится в оперативном режиме, хотя, возможно, не завершена стадия отката восстановления. | РАБОТОСПОСОБНА |
OFFLINE | База данных недоступна. База данных переходит в автономный режим из-за явных действий пользователя и остается в этом режиме, пока пользователь не предпримет дополнительные действия. Например, базу данных можно перевести в автономный режим для переноса файла на новый диск. После окончания перемещения база данных возвращается в сетевой режим. | КРИТИЧЕСКОЕ |
ОЖИДАНИЕ ВОССТАНОВЛЕНИЯ | Во время восстановления SQL Server™ обнаружена ошибка, связанная с ресурсами. База данных не повреждена, но, возможно, потеряны файлы или ограничения, связанные с системными ресурсами, препятствуют началу процесса восстановления. База данных недоступна. Со стороны пользователя требуются дополнительные действия, чтобы устранить ошибку и обеспечить завершение процесса восстановления. | КРИТИЧЕСКОЕ |
SUSPECT | По меньшей мере первичная файловая группа помечена как подозрительная и, возможно, повреждена. Не удается восстановить базу данных во время запуска SQL Server™. База данных недоступна. Со стороны пользователя требуются дополнительные действия, чтобы устранить проблему. | КРИТИЧЕСКОЕ |
EMERGENCY | Пользователь изменил базу данных и установил состояние базы данных в значение EMERGENCY. База данных находится в однопользовательском режиме и, возможно, в процессе исправления или восстановления. База данных помечена как READ_ONLY, ведение журнала отключено и доступ возможен только элементам предопределенной роли сервера sysadmin. EMERGENCY используется в основном для диагностики. Например, база данных, помеченная как подозрительная, может быть переведена в состояние EMERGENCY. Это предоставляет системному администратору доступ к базе данных только для чтения. Только члены предопределенной роли сервера sysadmin могут перевести базу данных в состояние EMERGENCY. | КРИТИЧЕСКОЕ |
RESTORING | Восстанавливаются один или несколько файлов, принадлежащих к первичной файловой группе, либо один или более вторичных файлов в автономном режиме. База данных недоступна. Это нормальное рабочее состояние для зеркальной базы данных. | ПРЕДУПРЕЖДЕНИЕ или РАБОТОСПОСОБНО |
RECOVERING | База данных восстанавливается. Процесс восстановления является переходным состоянием; после успешного завершения восстановления база данных автоматически переходит в сетевой режим. При неудачном завершении восстановления база данных будет помечена как подозрительная. База данных недоступна. | ПРЕДУПРЕЖДЕНИЕ |
Чтобы узнать точное состояние базы данных, проверьте контекст изменения или предупреждения состояния.
Можно попытаться снова перевести базу данных в режим "в сети", чтобы устранить данную проблему. Для этого выполните следующую задачу.
Перевод базы данных в режим "в сети"
Дополнительные сведения о SQL Server™ см. на странице
Имя | Описание | Значение по умолчанию |
Приоритет предупреждения | Определяет приоритет предупреждения. | Обычные |
Серьезность предупреждения | Определяет серьезность предупреждения. | Ошибка |
Включено | Включает или отключает рабочий процесс. | Да |
Создает предупреждения | Определяет, создает ли рабочий процесс предупреждения. | Да |
Интервал (в секундах) | Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс. | 3600 |
Время синхронизации | Время синхронизации указывается в 24-часовом формате и может быть опущено. |
|
Время ожидания (в секундах) | Определяет время, в течение которого возможно выполнение рабочего процесса перед закрытием и пометкой как сбойный. | 300 |
Target | Microsoft.SQLServer.2008.Database | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.DBStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.Database.DBStatusMonitor" Accessibility="Public" Enabled="true" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.DBStatusMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</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>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" HealthState="Error"/>
<OperationalState ID="NeitherGoodNorBad" MonitorTypeStateID="NeitherGoodNorBad" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<IntervalSeconds>3600</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>