Свободное место в хранилище по умолчанию

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

Монитор создает предупреждение, если доступное пространство для хранилища экземпляров по умолчанию опускается ниже порогового значения предупреждения, выраженного как процентное отношение суммы прогнозируемого размера папки хранилища по умолчанию (каталог данных) и свободного дискового пространства. Монитор создает критическое предупреждение, если доступное свободное пространство опускается ниже критического порогового значения. Монитор не учитывает базы данных или секции, расположенные в папках, отличных от папки хранилища по умолчанию (каталог данных).

Knowledge Base article:

Сводка

Монитор создает предупреждение, если доступное пространство для хранилища экземпляров по умолчанию опускается ниже порогового значения предупреждения, выраженного как процентное отношение суммы прогнозируемого размера папки хранилища по умолчанию (каталог данных) и свободного дискового пространства. Монитор создает критическое предупреждение, если доступное свободное пространство опускается ниже критического порогового значения. Монитор не учитывает базы данных или секции, расположенные в папках, отличных от папки хранилища по умолчанию (каталог данных).

Причины

При недостатке свободного места на диске, выражаемого в процентном соотношении от размера папки хранилища по умолчанию (каталог данных) для экземпляра, база данных может утратить работоспособность, что может негативно повлиять на производительность или даже вызвать сбой сервера. Как правило, причиной такого поведения может стать быстрое увеличение размера баз данных, но это также может произойти из-за того, что другие данные занимают свободное место на диске, на котором расположена папка хранилища по умолчанию (каталог данных) для экземпляра.

Решения

Решение проблемы исчерпания дискового пространства зависит от первопричин, которые нужно исследовать в каждом конкретном случае. Ситуацию можно улучшить с помощью следующих подходов:

Внешнее

Настройка свойств сервера для служб Analysis Services

Документация TechNet по счетчикам производительности SSAS

Руководство по настройке производительности многомерных служб SSAS

Переопределяемые параметры

Название

Описание

Значение по умолчанию

Критическое пороговое значение (в %)

Состояние работоспособности изменяется на "Критическое", если значение счетчика производительности свободного места (в %) экземпляра AS становится ниже порогового значения.

5

Включено

Включает или отключает поток процесса

Да

Создает предупреждения

Определяет, создает ли рабочий процесс предупреждения

Да

Интервал (в секундах)

Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс.

900

Время синхронизации

Время синхронизации указывается в 24-часовом формате и может быть опущено.

 

Время ожидания (в секундах)

Определяет время, в течение которого возможно выполнение рабочего процесса перед закрытием и пометкой как сбойный.

300

Пороговое значение предупреждения (%)

Если значение счетчика производительности "Свободное место экземпляра (в %)" AS снижается, но все еще превышает критическое пороговое значение (в процентах), состояние работоспособности изменяется на "Предупреждение".

10

Element properties:

TargetMicrosoft.SQLServer.2016.AnalysisServices.Instance
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.AnalysisServices.MonitorType.Instance.FreeSpacePercent
RemotableTrue
AccessibilityPublic
Alert Message
SSAS 2016: в хранилище экземпляра по умолчанию недостаточно дискового пространства.
Лишь {5}\% свободного пространства доступно для хранилища по умолчанию экземпляра SSAS (каталог данных). Это значение меньше, чем настроенное пороговое значение для папки хранилища "{0}".
Диск (точка подключения): {4}
Папка с данными (каталог данных): {0}
Размер диска: {1} ГБ
Свободное место экземпляра: {6} ГБ ({5}\%)
Размер папки с данными: {2} ГБ
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.FreeSpace" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.AnalysisServices.MonitorType.Instance.FreeSpacePercent" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.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.2016.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.2016.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.2016.AnalysisServices.Instance']/ServiceName$</ServiceName>
<ConnectionString>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance']/ConnectionString$</ConnectionString>
<DataDir>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance']/DataDir$</DataDir>
<CriticalThreshold>5</CriticalThreshold>
<WarningThreshold>10</WarningThreshold>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>