사용 가능한 공간이 데이터 크기의 합계 비율로 표현되는 경고 임계값 설정 아래로 떨어질 경우 모니터가 경고를 보고합니다. 사용 가능한 공간이 위험 임계값 아래로 떨어질 경우 모니터가 중요한 알림을 보고합니다.
이 모니터는 FILESTREAM 파일 그룹 컨테이너에 사용 가능한 디스크 공간이 사용 가능한 디스크 공간 합계의 백분율로 표현되는 경고 임계값 설정 아래로 떨어진 경우 경고를 보고합니다. 사용 가능한 공간이 위험 임계값 아래에 떨어진 경우 이 모니터는 위험 경고를 보고합니다.
FILESTREAM 파일 그룹 데이터 컨테이너 폴더는 일반적으로 테이블에 더 많은 데이터가 추가되면서 시간이 지남에 따라 증가합니다. 따라서 관리자는 컨테이너 폴더의 저장소 위치에 충분한 공간이 남아 있도록 하기 위해 이 매개 변수를 모니터링하려고 합니다.
FILESTREAM 데이터 컨테이너가 구성되어 있는 드라이브의 사용 가능한 디스크 공간이 너무 부족한 경우 오류가 발생하여 성공적인 데이터 처리를 방해하거나, 사용자 쿼리를 지연시키거나, 동일하게 할당된 디스크 공간을 공유하는 다른 응용 프로그램에 영향을 줄 수 있습니다.
사용 가능한 디스크 공간 부족에 대한 해결 방법은 근본 원인에 따라 다르므로 이 문제가 발생하는 사례마다 근본 원인을 조사해야 합니다. 다음과 같이 여러 가능한 접근 방식을 통해 상태를 완화할 수 있습니다.
FILESTREAM 파일 그룹 데이터 컨테이너가 저장된 논리 디스크의 사용 가능한 공간을 늘립니다.
FILESTREAM 파일 그룹 데이터 컨테이너에 대한 최대 한도를 늘립니다.
다른 논리 디스크에 새 데이터 컨테이너를 추가합니다.
이름 | 설명 | 기본값 |
알림 우선 순위 | 알림 우선 순위를 정의합니다. | 보통 |
알림 심각도 | 알림 심각도를 정의합니다. | 오류 |
Azure 최대 파일 크기(MB) | Azure 최대 파일 크기(MB) | 1048576 |
위험 임계값 | 값이 이 임계값 아래로 떨어지면 모니터의 상태가 위험으로 변경됩니다. 이 임계값과 경고 임계값(포함) 사이에 있으면 모니터가 경고 상태가 됩니다. | 10 |
사용 | 워크플로를 사용하거나 사용하지 않도록 설정합니다. | 예 |
알림 생성 | 워크플로가 알림을 생성하는지를 정의합니다. | 예 |
간격(초) | 워크플로를 실행하는 반복 시간 간격(초)입니다. | 900 |
동기화 시간 | 24시간 형식으로 지정된 동기화 시간입니다. 생략될 수 있습니다. |
|
제한 시간(초) | 워크플로를 닫고 실패로 표시하기 전에 워크플로를 실행할 수 있는 시간을 지정합니다. | 300 |
경고 임계값 | 값이 이 임계값 아래로 떨어지면 모니터의 상태가 경고로 변경됩니다. | 20 |
Target | Microsoft.SQLServer.2016.DBFileGroupFd | ||
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.2016.DBFileStreamGroupSizeMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2016.Monitoring.DBFileStreamGroupSpaceMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFd" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBFileStreamGroupSizeMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Monitoring.DBFileStreamFileGroupSpaceMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.FileGroup"]/GroupName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter3>
<AlertParameter4>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Error"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>SQL DB FileStream FileGroup</ObjectName>
<CounterName>DB FileStrem FileGroup Free Space (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<DBFileId>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFd"]/GroupID$</DBFileId>
<Value>$Data/Property[@Name='FreeSpacePercent']$</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
</Configuration>
</UnitMonitor>