Этот монитор проверяет состояние базы данных по данным Microsoft SQL Server.
Этот монитор проверяет состояние базы данных, предоставленное Microsoft SQL Server. Это делается путем выполнения запроса к основной базе данных экземпляра SQL и возвращения состояния базы данных. При получении предупреждения от этого монитора необходимо выполнить действия по возврату базы данных в работоспособное состояние.
Неработоспособное состояние указывает на текущую недоступность базы данных SQL Server. Все состояния, за исключением состояния ONLINE, соответствуют неработоспособному состоянию. Возможные состояния описаны ниже.
Состояние базы данных SQL | Описание | Состояние объекта |
В сети | База данных доступна. Первичная файловая группа находится в оперативном режиме, хотя, возможно, не завершена стадия отката восстановления. | Работоспособна |
Автономный | База данных недоступна. База данных переходит в режим вне сети с помощью явного указания пользователя и остается в режиме вне сети до тех пор, пока пользователем не будет предпринято дополнительное действие. Например, база данных может быть переведена в режим вне сети, чтобы переместить файл на другой диск. После завершения перемещения файла база данных снова переводится в режим в сети. | Критические |
Ожидание восстановления | Во время восстановления SQL Server обнаружена ошибка, связанная с ресурсами. База данных не повреждена, но, возможно, отсутствуют файлы или ограничения, связанные с системными ресурсами, препятствуют началу процесса восстановления. База данных недоступна. Со стороны пользователя требуются дополнительные действия, чтобы устранить ошибку и обеспечить завершение восстановления. | Критические |
Подозрительно | По меньшей мере первичная файловая группа помечена как подозрительная и, возможно, повреждена. Не удается восстановить базу данных во время запуска SQL Server™. База данных недоступна. Со стороны пользователя требуется дополнительное действие, чтобы устранить проблему. | Критические |
Аварийный режим | Пользователь изменил базу данных и задал состояние базы данных EMERGENCY. База данных находится в однопользовательском режиме и может быть исправлена или восстановлена. База данных помечена как READ_ONLY, ведение журнала отключено, и доступ возможен только для членов предопределенной роли сервера sysadmin. Состояние EMERGENCY используется в основном для диагностики. Например, база данных, помеченная как подозрительная, может быть переведена в состояние EMERGENCY. Это предоставляет системному администратору доступ к базе данных только для чтения. Только участники предопределенной роли сервера sysadmin могут перевести базу данных в состояние EMERGENCY. | Критические |
Восстановление | Восстанавливаются один файл (или несколько), принадлежащий к первичной файловой группе, или один файл (или более), принадлежащий ко вторичным группам, причем база данных остается в автономном режиме. База данных недоступна. | Критические |
Восстановление | База данных в процессе восстановления. Процесс восстановления является переходным состоянием; после успешного завершения восстановления база данных автоматически переходит в режим вне сети. При неудачном завершении восстановления база данных будет помечена как подозрительная. База данных недоступна. | Предупреждение |
Чтобы узнать точное состояние базы данных, проверьте контекст изменения или предупреждения состояния.
Можно попытаться снова перевести базу данных в режим "в сети", чтобы устранить проблему.
Подробные сведения об SQL Server:
https://msdn.microsoft.com/ru-ru/library/microsoft.sqlserver.management.smo.database.status.aspx
Имя | Описание | Значение по умолчанию |
Приоритет предупреждения | Определение приоритета оповещений. | Обычный |
Серьезность предупреждения | Определяет серьезность предупреждения. | Ошибка |
Включено | Включает или отключает рабочий процесс. | Да |
Создает предупреждения | Определяет, создается ли предупреждение рабочим процессом. | Да |
Интервал (в секундах) | Повторяющийся интервал времени в секундах, в который следует запустить рабочий процесс. | 300 |
Время синхронизации | Время синхронизации указывается в 24-часовом формате и может быть опущено. |
|
Время ожидания (в секундах) | Указывает время, в течение которого рабочий процесс должен быть запущен, прежде чем он будет закрыт и отмечен как завершившийся сбоем. | 200 |
Время ожидания для подключения к базе данных (секунды) | Рабочий процесс завершится ошибкой и зарегистрирует событие, если он не сможет получить доступ к базе данных за указанный промежуток времени. | 15 |
Target | Microsoft.SQLServer.Linux.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.Linux.MonitorType.Database.DBStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Linux.Monitor.Database.DBStatus" Accessibility="Public" Enabled="true" Target="SqlDiscL!Microsoft.SQLServer.Linux.Database" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Linux.MonitorType.Database.DBStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Linux.Monitor.Database.DBStatus.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</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>
</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>
<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>
<DatabaseName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<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>
<NumSamples>2</NumSamples>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>