SQL Server Windows 서비스

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

이 모니터는 SQL Server 데이터베이스 엔진 서비스의 상태를 확인합니다.

Knowledge Base article:

요약

이 모니터는 SQL Database 엔진 Windows 서비스의 상태를 확인합니다.

원인

이 모니터의 상태가 "실행 중이 아님"인 경우 SQL DB 엔진 서비스가 자동으로 시작되도록 구성되어 있지만 "중지됨" 상태이며 특정 기간 동안 시작되지 않았음을 나타냅니다. 간격 기간은 "사용할 수 없는 시간" 모니터 속성으로 정의되며 재정의할 수 있습니다. 기본적으로 이 값은 900초(15분)입니다. SQL DB 엔진이 이 시간보다 빨리 "실행 중" 상태로 전환되는 경우 다시 시작되었음을 나타냅니다.

이 모니터가 특정 환경에서 너무 많이 사용되는 경우 "사용할 수 없는 시간"을 늘리십시오. 그렇지 않고 너무 적게 사용되는 경우 "사용할 수 없는 시간" 설정을 줄이십시오.

Windows 서비스는 일반적으로 다음과 같은 여러 가지 이유로 중지될 수 있습니다.:

해결 방법

다음 링크를 통해 서비스를 다시 시작할 수 있습니다.:

SQL DB 엔진 서비스 시작

다음 링크를 통해 이 문제와 관련될 수 있는 이 SQL Server 인스턴스에 대한 다른 알림을 볼 수 있습니다.

SQL Server 경고 보기

재정의 가능한 매개 변수

이름

설명

기본값

알림 우선 순위

알림 우선 순위를 정의합니다.

보통

알림 심각도

알림 심각도를 정의합니다.

오류

서비스 시작 유형이 자동인 경우에만 경고를 발생시킵니다.

이 값은 'true' 또는 'false'로만 설정될 수도 있습니다. 이 매개 변수가 'false'로 설정된 경우 워크플로가 서비스의 현재 시작 유형 설정을 고려하지 않습니다. 기본값은 'true'입니다.

사용

워크플로를 사용하거나 사용하지 않도록 설정합니다.

알림 생성

워크플로가 알림을 생성하는지를 정의합니다.

간격(초)

워크플로를 실행하는 반복 시간 간격(초)입니다.

60

사용할 수 없는 시간(초)

서비스가 비정상 상태로 간주되려면 경과해야 하는, 서비스를 사용할 수 없는 최소 기간입니다.

900

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.CheckWinServiceStateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: SQL Server 서비스가 중지되었습니다.
컴퓨터 {0}에서 DB 엔진 인스턴스 {1}에 대한 Windows 서비스가 중지되었습니다.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.DBEngine.ServiceMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.CheckWinServiceStateMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.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="SQL2016Core!Microsoft.SQLServer.2016.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="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$</ServiceName>
<CheckStartupType>true</CheckStartupType>
<UnavailableTime>900</UnavailableTime>
</Configuration>
</UnitMonitor>