Служба Windows: SQL Server

Microsoft.SQLServer.2012.DBEngine.ServiceMonitor (UnitMonitor)

Этот монитор проверяет состояние службы компонента SQL Database Engine.

Knowledge Base article:

Сводка

Этот монитор проверяет состояние службы Windows компонента SQL Server Database Engine.

Причины

Состояние этого монитора "не запущен" показывает, что служба SQL Database Engine настроена для автоматического запуска, но находится в состоянии "остановлена" в течение конкретного периода времени. Этот период времени определяется свойством "время неготовности" монитора, и его можно переопределить. По умолчанию это значение равно 900 с (15 мин). Если компонент SQL Database Engine возвращается в состояние "запущен" до окончания этого времени, это означает, что его просто перезапустили.

Если этот монитор слишком часто срабатывает в конкретной среде, увеличьте "время неготовности". Если же он слишком медлителен, снизьте значение "времени неготовности".

Вообще говоря, службы Windows могут быть остановлены по многим причинам, включая следующие.

Решения

Можно попытаться перезапустить службу при помощи следующей ссылки:

Запуск службы компонента SQL Database Engine

С помощью следующей ссылки можно просмотреть другие предупреждения для этого экземпляра SQL Server™, которые могут быть связаны с данной проблемой:

Просмотр предупреждений SQL Server

Element properties:

TargetMicrosoft.SQLServer.2012.DBEngine
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.CheckWinServiceStateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Служба SQL Server остановлена
Служба Windows для экземпляра компонента DB Engine {1} остановлена на компьютере {0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.DBEngine.ServiceMonitor" Accessibility="Public" Enabled="true" Target="SQL2012Core!Microsoft.SQLServer.2012.DBEngine" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.CheckWinServiceStateMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.DBEngine.ServiceMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Running" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="NotRunning" HealthState="Error"/>
</OperationalStates>
<Configuration>
<Frequency>60</Frequency>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<ServiceName>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</ServiceName>
<CheckStartupType>true</CheckStartupType>
<UnavailableTime>900</UnavailableTime>
</Configuration>
</UnitMonitor>