SSAS 다차원 데이터베이스 저장소 폴더의 사용 가능한 디스크 공간이 예상 데이터베이스 저장소 폴더 크기 및 사용 가능한 디스크 공간의 합계 비율로 표현되는 경고 임계값 설정 아래로 떨어질 경우 모니터가 경고를 보고합니다. 사용 가능한 공간이 위험 임계값 아래로 떨어질 경우 모니터가 중요한 알림을 보고합니다. 모니터는 DB 저장소 폴더 이외의 폴더에 있는 파티션은 고려하지 않습니다.
대부분의 일반적인 서버 응용 프로그램의 경우 데이터 웨어하우스 원본에서 데이터가 더 추가되기 때문에 일반적으로 시간이 갈수록 SSAS 다차원 데이터베이스 폴더가 커집니다. 따라서 관리자는 데이터베이스 폴더의 저장소 위치에 충분한 공간이 남아 있는지 확인하기 위해 모니터링을 하려고 합니다. 관리자는 데이터베이스 폴더 디렉터리 구조 밖에 구성될 수 있는 파티션 폴더의 사용 가능한 공간에 대해서도 모니터링을 하려고 합니다. 해당 폴더는 이 규칙에서 모니터링되지 않으며 사용 가능한 SSAS 파티션 저장소 공간 모니터에서 모니터링됩니다.
데이터베이스 저장소 위치가 구성되어 있는 드라이브의 사용 가능한 디스크 공간이 너무 부족한 경우 오류가 발생하여 데이터를 처리할 수 없거나, 사용자 쿼리가 지연되거나, 동일한 디스크 공간 할당을 공유하는 다른 응용 프로그램에도 영향을 미칠 수 있습니다. 서버의 비정상적인 상태입니다. 특히 시간이 갈수록 빠르게 커지는 차원 또는 측정값 그룹의 경우 프로덕션 중단 또는 지연을 발생시킬 수 있어 많은 비용과 시간이 소요되는 처리 오류가 발생하지 않도록 모니터링을 하여 사용 가능한 공간에 충분한 여유가 있는지 확인하는 것이 중요합니다.
사용 가능한 디스크 공간 부족에 대한 해결 방법은 근본 원인에 따라 다르므로 이 문제가 발생하는 사례마다 근본 원인을 조사해야 합니다. 다음과 같이 여러 가능한 접근 방식을 통해 상태를 완화할 수 있습니다.
필요 없는 특성을 제거하거나 기본 데이터 원본에서 포함되는 멤버 범위를 제한하여 차원 크기를 줄이도록 차원 디자인을 수정합니다.
측정값 그룹 파티션을 사용 가능한 공간이 더 많은 다른 드라이브로 이동합니다. 파티션의 저장소 위치를 이동하면 해당 파티션이 처리되지 않은 상태가 되며 이후 다시 처리해야 액세스가 가능하여 데이터에 사용할 수 있습니다.
SSAS 인스턴스 기본 저장소 폴더와 동일한 드라이브에서 디스크 공간을 사용하지만 SSAS 인스턴스 자체의 일부가 아닌 데이터를 제거합니다.
디스크 관리자를 사용하여 데이터 폴더를 저장하는 논리 드라이브의 크기를 늘립니다.
DB 데이터 폴더 전체를 사용 가능한 공간이 더 많은 새 드라이브로 복사합니다.
환경의 예상 작업 및 상태에 알맞게 임계값을 수정합니다.
인스턴스의 디스크 공간이 별로 중요하지 않을 경우 모니터를 완전히 사용하지 않도록 설정합니다.
이름 | 설명 | 기본값 |
위험 임계값(%) | 사용 가능한 데이터베이스 공간(%) 성능 카운터가 임계값 아래로 떨어지는 경우 상태가 위험으로 변경됩니다. | 5 |
사용 | 워크플로를 사용하거나 사용하지 않도록 설정합니다. | 예 |
알림 생성 | 워크플로의 알림 생성 여부 정의 | 예 |
간격(초) | 워크플로를 실행하는 반복 시간 간격(초)입니다. | 900 |
동기화 시간 | 24시간 형식으로 지정된 동기화 시간입니다. 생략될 수 있습니다. |
|
제한 시간(초) | 워크플로를 닫고 실패로 표시하기 전에 워크플로를 실행할 수 있는 시간을 지정합니다. | 300 |
경고 임계값(%) | 사용 가능한 데이터베이스 공간(%) 성능 카운터가 임계값 아래로 떨어졌으나 위험 임계값(%)보다는 높은 경우 상태가 경고로 변경됩니다. | 10 |
Target | Microsoft.SQLServer.2008.AnalysisServices.MultidimensionalDatabase | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Database.FreeSpacePercent | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.MultidimensionalDatabase.FreeSpace" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.MultidimensionalDatabase" TypeID="Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Database.FreeSpacePercent" ParentMonitorID="SystemHealth!System.Health.PerformanceState" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Database.DatabaseFreeSpace.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='UsedOnDatabaseDriveGB']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='TotalOnDatabaseDriveGB']$</AlertParameter2>
<AlertParameter3>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Database']/StorageLocation$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='DatabaseDefaultForlderSizeGB']$</AlertParameter4>
<AlertParameter5>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Database']/MountPoint$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='DatabaseFreeSpacePercent']$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='DatabaseFreeSpaceGB']$</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/Host/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/ServiceName$</ServiceName>
<DatabaseName>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Database"]/DatabaseName$</DatabaseName>
<ConnectionString>$Target/Host/Property[Type='SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance']/ConnectionString$</ConnectionString>
<DataDir>$Target/Host/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>