Состояние базы данных

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

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

Knowledge Base article:

Сводка

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

Причины

Неработоспособное состояние указывает на то, что база данных SQL Server™ сейчас недоступна. Все состояния, за исключением ONLINE (в оперативном режиме), вызывают неработоспособное состояние. Возможные состояния описаны ниже:

Состояние базы данных SQL

Описание

Состояние работоспособности MOM

ONLINE

База данных доступна. Первичная файловая группа находится в оперативном режиме, хотя, возможно, не завершена стадия отката восстановления.

РАБОТОСПОСОБНА

OFFLINE

База данных недоступна. База данных переходит в автономный режим из-за явных действий пользователя и остается в этом режиме, пока пользователь не предпримет дополнительные действия. Например, базу данных можно перевести в автономный режим для переноса файла на новый диск. После окончания перемещения база данных возвращается в сетевой режим.

КРИТИЧЕСКОЕ

ОЖИДАНИЕ ВОССТАНОВЛЕНИЯ

Во время восстановления SQL Server™ обнаружена ошибка, связанная с ресурсами. База данных не повреждена, но, возможно, потеряны файлы или ограничения, связанные с системными ресурсами, препятствуют началу процесса восстановления. База данных недоступна. Со стороны пользователя требуются дополнительные действия, чтобы устранить ошибку и обеспечить завершение процесса восстановления.

КРИТИЧЕСКОЕ

SUSPECT

По меньшей мере первичная файловая группа помечена как подозрительная и, возможно, повреждена. Не удается восстановить базу данных во время запуска SQL Server™. База данных недоступна. Со стороны пользователя требуются дополнительные действия, чтобы устранить проблему.

КРИТИЧЕСКОЕ

EMERGENCY

Пользователь изменил базу данных и установил состояние базы данных в значение EMERGENCY. База данных находится в однопользовательском режиме и, возможно, в процессе исправления или восстановления. База данных помечена как READ_ONLY, ведение журнала отключено и доступ возможен только элементам предопределенной роли сервера sysadmin. EMERGENCY используется в основном для диагностики. Например, база данных, помеченная как подозрительная, может быть переведена в состояние EMERGENCY. Это предоставляет системному администратору доступ к базе данных только для чтения. Только члены предопределенной роли сервера sysadmin могут перевести базу данных в состояние EMERGENCY.

КРИТИЧЕСКОЕ

RESTORING

Восстанавливаются один файл (или несколько), принадлежащий к первичной файловой группе, или один файл (или более), принадлежащий ко вторичным группам, причем база данных остается в автономном режиме. База данных недоступна.

ПРЕДУПРЕЖДЕНИЕ

RECOVERING

База данных восстанавливается. Процесс восстановления является переходным состоянием; после успешного завершения восстановления база данных автоматически переходит в сетевой режим. При неудачном завершении восстановления база данных будет помечена как подозрительная. База данных недоступна.

ПРЕДУПРЕЖДЕНИЕ

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

Решения

Можно попытаться снова перевести базу данных в режим "в сети", чтобы устранить данную проблему. Для этого выполните следующую задачу.

Перевод базы данных в режим "в сети"

Внешнее

Дополнительные сведения о SQL Server™ см. на странице

http://www.microsoft.com/sql

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

Имя

Описание

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

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

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

Обычные

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

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

Ошибка

Включено

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

Да

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

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

Да

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

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

3600

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

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

 

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

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

300

Element properties:

TargetMicrosoft.SQLServer.2012.Database
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.DBStatus
RemotableTrue
AccessibilityPublic
Alert Message
База данных в режиме "вне сети"
База данных {2} экземпляра SQL Server {1} на компьютере {0} находится вне сети, ожидает восстановления, подозрительна или в аварийном режиме
RunAsDefault

Source Code:

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