차단 기간

Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.MultidimensionalDatabase.BlockingDuration (UnitMonitor)

하나 이상의 세션이 구성된 임계값보다 오래 차단된 경우 모니터가 알림을 제공합니다.

Knowledge Base article:

요약

하나 이상의 SSAS 테이블 형식 세션이 구성된 임계값보다 오래 차단된 경우 모니터가 알림을 제공합니다. 한 세션에서는 특정 리소스를 잠그고 다른 세션에서는 동일한 리소스에 대해 충돌하는 잠금 유형을 얻으려는 경우 차단이 발생합니다. 차단은 잠금 기반 동시성을 가진 모든 DBMS(데이터베이스 관리 시스템)의 불가피한 특성입니다. 하지만 너무 많은 차단으로 인해 성능 문제가 발생할 수 있으므로 관리자는 이 모니터를 사용하여 구성된 임계값보다 오래 이러한 상태가 발생하는 경우를 인식할 수 있습니다.

원인

차단은 예상되는 여러 가지 이유로 발생할 수 있으나 데이터를 사용하는 응용 프로그램에 필요한 기능을 손실하지 않으면서 개선 가능한 시나리오에서 발생할 수도 있습니다.

해결 방법

서버의 차단 문제를 해결하려면 작업, 요구 사항 및 사용자를 알아야 하며 관리자는 올바른 수정 조치를 결정할 시기를 고려해야 합니다. 차단 문제 수정에는 다음과 같은 여러 가능한 조치가 포함될 수 있습니다(다음으로 제한되지 않음).

외부 리소스

Analysis Services 서버 속성 구성

SSAS 다차원 성능 가이드

재정의 가능한 매개 변수

이름

설명

기본값

사용

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

알림 생성

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

간격(초)

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

900

동기화 시간

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

 

경고 임계값(분)

하나 이상의 세션이 임계값보다 오래 차단되는 경우 상태가 변경됩니다.

1

시간 제한(초)

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

300

Element properties:

TargetMicrosoft.SQLServer.2008.AnalysisServices.MultidimensionalDatabase
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.AnalysisServices.MonitorType.Database.BlockingDuration
RemotableTrue
AccessibilityPublic
Alert Message
SSAS 2008: 하나 이상의 세션이 장기간 차단되었습니다.
가장 긴 차단 SSAS 세션 기간이 {0}분을 초과했습니다. 알림에 대해 구성된 임계값보다 더 깁니다.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.MultidimensionalDatabase.BlockingDuration" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.MultidimensionalDatabase" TypeID="Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Database.BlockingDuration" ParentMonitorID="SystemHealth!System.Health.PerformanceState" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Database.BlockingDuration.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='WaitTime']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ServiceName>$Target/Host/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/ServiceName$</ServiceName>
<ConnectionString>$Target/Host/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Database"]/DatabaseName$</DatabaseName>
<Threshold>1</Threshold>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>