설정된 샘플 기간 동안 데이터베이스에서 사용 가능한 공간 값이 크게 변경되었는지 모니터링합니다.
설정된 샘플 기간 동안 데이터베이스에서 사용 가능한 공간 값이 크게 변경되었는지 모니터링합니다. 값이 급격히 크게 변경되면 문제가 있는 것일 수 있습니다.
설정된 샘플 기간 동안 데이터베이스에서 사용 가능한 공간 값이 크게 변경되면 비정상 상태가 유발됩니다. 이는 다음과 같은 요인으로 인해 발생할 수 있습니다.
자동 증가하도록 설정된 파일의 큰 자동 증가 설정
단기간에 사용 가능한 공간을 많이 사용한 빠르게 증가하는 파일
이 파일과 동일한 디스크에서 호스팅된 사용 가능한 공간을 많이 사용한 외래 개체 또는 파일
다음 링크를 통해 성능 데이터를 확인합니다. 데이터베이스 성능 데이터
이 모니터는 다음과 같은 각 파일의 구성에 따라 파일 그룹 내의 각 파일에 사용할 수 있는 공간을 집계합니다.
자동 증가 없음
자동 증가가 없는 파일의 경우 사용 가능한 공간은 파일의 초기 크기와 사용 중인 공간의 차이가 됩니다.
자동 증가 설정
파일 크기와 사용 중인 공간의 차이 이외에도 자동 증가가 설정된 파일에 사용할 수 있는 공간은 최대 크기와 파일 크기의 차이 또는 최대 크기와 디스크에 남아 있는 사용 가능한 공간의 차이 중 최소값이 됩니다.
사용 가능한 공간을 계산할 때 파일의 증가량이 디스크에 남아 있는 양보다 큰 경우 파일이 증가할 수 없으며 최대 크기와 현재 파일 크기의 차이가 증가량보다 작은 경우 파일이 증가할 수 없다는 사실도 고려합니다. 이러한 경우 더 이상 증가할 수 없으므로 디스크에 남아 있는 사용 가능한 공간은 사용 가능한 공간의 일부분으로 포함되지 않습니다.
이 문제는 다음을 수행하여 해결할 수 있습니다.
자동 증가가 설정된 파일에 대한 증가량 감소
이 모니터가 작업에 알맞도록 임계값 수정
또는 데이터베이스에서 공간 변경 비율이 별로 중요하지 않을 경우 다음을 수행합니다.
이 특정 데이터베이스 또는 모든 데이터베이스에 대해 이 모니터 비활성화
Target | Microsoft.SQLServer.2005.Database | ||
Parent Monitor | Microsoft.SQLServer.2005.Database.DBSpaceMonitor | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2005.DBPercentageChange | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2005.Database.DBSizePercentageChangeMonitor" Accessibility="Public" Enabled="false" Target="SQL2005Core!Microsoft.SQLServer.2005.Database" ParentMonitorID="Microsoft.SQLServer.2005.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2005.DBPercentageChange" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2005.Database.DBSizePercentageChangeMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Success"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/PerformanceCounterObject$:Database</ObjectName>
<CounterName>DB Total Free Space (%)</CounterName>
<InstanceName>$Data/Property[@Name='Database']$</InstanceName>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBFreeSpacePercent']$</Value>
<Threshold1>25</Threshold1>
<Threshold2>45</Threshold2>
<NumSamples>5</NumSamples>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>