사용 가능한 기본 저장소 공간

Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.FreeSpace (UnitMonitor)

인스턴스 기본 저장소의 사용 가능한 공간이 예상 기본 저장소 폴더(데이터 디렉터리) 크기 및 사용 가능한 디스크 공간의 합계 비율로 표현되는 경고 임계값 설정 아래로 떨어질 경우 모니터가 경고를 보고합니다. 사용 가능한 공간이 위험 임계값 아래로 떨어질 경우 모니터가 중요한 알림을 보고합니다. 모니터는 기본 저장소 폴더(데이터 디렉터리) 이외의 폴더에 있는 데이터베이스나 파티션은 고려하지 않습니다.

Knowledge Base article:

요약

인스턴스 기본 저장소의 사용 가능한 공간이 예상 기본 저장소 폴더(데이터 디렉터리) 크기 및 사용 가능한 디스크 공간의 합계 비율로 표현되는 경고 임계값 설정 아래로 떨어질 경우 모니터가 경고를 보고합니다. 사용 가능한 공간이 위험 임계값 아래로 떨어질 경우 모니터가 중요한 알림을 보고합니다. 모니터는 기본 저장소 폴더(데이터 디렉터리) 이외의 폴더에 있는 데이터베이스나 파티션은 고려하지 않습니다.

원인

인스턴스 기본 저장소 폴더(데이터 디렉터리) 크기 비율인 사용 가능한 디스크 공간이 작아지면 데이터베이스가 비정상이 되어 성능에 부정적인 영향을 미치거나 서버에 오류가 발생할 수 있습니다. 이러한 동작은 일반적으로 빠르게 커지는 데이터베이스 때문에 발생하나 인스턴스의 기본 저장소 폴더(데이터 디렉터리)와 사용 가능한 디스크 공간을 공유하는 다른 데이터 때문에 발생할 수도 있습니다.

해결 방법

디스크 공간 소모에 대한 해결 방법은 근본 원인에 따라 다르므로 이 문제가 발생하는 사례마다 근본 원인을 조사해야 합니다. 다음과 같이 여러 가능한 접근 방식을 통해 상태를 완화할 수 있습니다.

외부 리소스

Analysis Services 서버 속성 구성

SSAS 다차원 성능 가이드

재정의 가능한 매개 변수

이름

설명

기본값

위험 임계값(%)

사용 가능한 AS 인스턴스 공간(%) 성능 카운터가 임계값 아래로 떨어지는 경우 상태가 위험으로 변경됩니다.

5

사용

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

알림 생성

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

간격(초)

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

900

동기화 시간

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

 

제한 시간(초)

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

300

경고 임계값(%)

사용 가능한 AS 인스턴스 공간(%) 성능 카운터가 임계값 아래로 떨어졌으나 위험 임계값(%)보다는 높은 경우 상태가 경고로 변경됩니다.

10

Element properties:

TargetMicrosoft.SQLServer.2008.AnalysisServices.Instance
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.FreeSpacePercent
RemotableTrue
AccessibilityPublic
Alert Message
SSAS 2008: 인스턴스 기본 저장소에 디스크 공간이 부족합니다.
다음과 같은 가능한 접근 방식의 {5}\%만 SSAS 인스턴스 기본 저장소(데이터 디렉터리)에 사용할 수 있습니다. 이 값은 저장소 폴더 "{0}"에 대해 구성된 임계값보다 작습니다.
드라이브(탑재 지점): {4}
데이터 폴더(데이터 디렉터리): {0}
디스크 크기: {1}GB
사용 가능한 인스턴스 공간: {6}GB({5}\%)
데이터 폴더 크기: {2}GB
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.FreeSpace" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.FreeSpacePercent" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.FreeSpace.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/DataDir$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='TotalOnInstanceDriveGB']$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='InstanceDefaultForlderSizeGB']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='UsedOnInstanceDriveGB']$</AlertParameter4>
<AlertParameter5>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/MountPoint$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='ASInstanceFreeSpacePercent']$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='ASInstanceFreeSpaceGB']$</AlertParameter7>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Above" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="Between" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="Below" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ServiceName>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/ServiceName$</ServiceName>
<ConnectionString>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/ConnectionString$</ConnectionString>
<DataDir>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/DataDir$</DataDir>
<CriticalThreshold>5</CriticalThreshold>
<WarningThreshold>10</WarningThreshold>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>