서비스 상태

Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.ServiceState (UnitMonitor)

SSAS 인스턴스의 Windows 서비스가 구성된 임계값을 초과하는 기간 동안 실행 중 상태가 아닌 경우 모니터가 알림을 제공합니다.

Knowledge Base article:

요약

SSAS 인스턴스의 Windows 서비스가 구성된 임계값을 초과하는 기간 동안 실행 중 상태가 아닌 경우 모니터가 알림을 제공합니다.

원인

이 모니터가 "SQL Server Analysis Service Windows 서비스가 실행 중이 아님" 알림을 보고하는 경우 SSAS 인스턴스가 자동으로 시작하도록 구성되었으나 구성된 임계값을 초과하는 기간 동안 중지됨 상태로 있음을 나타냅니다. 기본 구성 값은 900초(15분)입니다.

서비스가 중지되는 경우 구성된 기간 전에 모니터가 알림을 트리거하지 않습니다. 따라서 관리자는 알림을 트리거하지 않고 서비스를 다시 시작할 수 있습니다. 그러나 이후 구성된 기간 내에 서비스가 실행 중 상태가 되지 않는 경우 알림이 트리거됩니다.

SSAS Windows 서비스는 자동으로 시작하도록 구성된 경우라도 프로세스 시작 오류, 시작할 수 없는 운영 체제 문제, 서비스 계정 인증 오류 등 여러 가지 이유로 시작되지 않을 수 있습니다.

해결 방법

이 알림을 해결하려면 관리자가 정상적인 예상 인스턴스 시작 시간, 예기치 않은 서비스 시작 오류 원인, 서버의 인증 요구 사항, 환경의 상태 등 여러 요인을 이해하고 고려해야 합니다.

인스턴스 시작 시간은 데이터베이스 크기 및 다른 요인에 따라 다를 수 있습니다. 관리자가 적절하게 이 설정을 구성하여 지정된 SSAS 인스턴스의 정상적인 예상 시작 시간에 맞게 조정할 수 있습니다.

SSAS 서비스가 시작되지 않은 경우 또는 시도했으나 시작하지 않은 경우 이러한 상태를 수정할 조치는 다음과 같습니다.

외부 리소스

SQL Services 시작 및 중지

재정의 가능한 매개 변수

이름

설명

기본값

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

이 값은 'True' 또는 'False'로만 설정될 수도 있습니다. 'False'로 설정하면 설정된 시작 유형에 관계없이 알림이 트리거됩니다. 기본값은 'True'입니다.

사용

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

알림 생성

워크플로의 알림 생성 여부 정의

간격(초)

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

60

샘플 수

후속 확인 오류 수가 최소 확인 수보다 크거나 같은 경우 상태가 변경됩니다.

15

동기화 시간

24시간 형식으로 지정된 동기화 시간입니다. 생략될 수 있습니다.

 

시간 제한(초)

워크플로를 닫고 실패로 표시하기 전에 워크플로를 실행할 수 있는 시간을 지정합니다.

300

Element properties:

TargetMicrosoft.SQLServer.2016.AnalysisServices.Instance
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.AnalysisServices.MonitorType.Instance.ServiceState
RemotableTrue
AccessibilityPublic
Alert Message
SSAS 2016: SQL Server Analysis Service Windows 서비스가 실행 중이 아님
SSAS 인스턴스 {1}의 Windows 서비스가 지정된 임계값을 초과하는 기간 동안 {0} 컴퓨터에서 실행 중이 아닙니다.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.ServiceState" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.AnalysisServices.MonitorType.Instance.ServiceState" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.ServiceState.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="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.ServerRole"]/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Running" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="NotRunning" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<ServiceName>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance"]/ServiceName$</ServiceName>
<ClusteredInstance>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance"]/Clustered$</ClusteredInstance>
<CheckStartupType>true</CheckStartupType>
<SampleCount>15</SampleCount>
<IntervalSeconds>60</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>