Espacio disponible en la base de datos

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

El monitor genera una advertencia cuando el espacio disponible para la carpeta de almacenamiento de base de datos multidimensional de SSAS es inferior al umbral de advertencia configurado, expresado como porcentaje de la suma del tamaño estimado de la carpeta de almacenamiento de la base de datos más el espacio disponible en disco. El monitor genera una alerta crítica cuando el espacio disponible es inferior al umbral crítico. El monitor no tiene en cuenta las particiones situadas en carpetas distintas a la carpeta de almacenamiento de la base de datos.

Knowledge Base article:

Resumen

La carpeta de base de datos multidimensional de SSAS suele crecer con el tiempo a medida que se agregan constantemente más datos de orígenes de almacenamiento de datos para las aplicaciones más típicas del servidor. Por lo tanto, es recomendable que los administradores supervisen el problema para asegurarse de que haya espacio suficiente en la ubicación de almacenamiento para la carpeta de la base de datos. Tenga en cuenta que los administradores también quieren supervisar el espacio disponible en las carpetas de partición, que se puede configurar fuera de la estructura de directorio de carpetas de base de datos. Esta regla no supervisa dichas carpetas, sino que lo hace el monitor de espacio disponible de almacenamiento de partición de SSAS.

Causas

Cuando el espacio disponible en el disco de la unidad donde está configurada la ubicación de almacenamiento de la base de datos es demasiado bajo, se pueden producir errores que impidan el procesamiento correcto de los datos, que retrasen las consultas del usuario o que afecten a otras aplicaciones que comparten la misma asignación de espacio en el disco. Esto es perjudicial para el servidor. En consecuencia, es importante supervisar el problema y garantizar que quede un margen suficiente de espacio disponible para evitar costosos errores de procesamiento que pueden requerir mucho tiempo y provocar retrasos o interrupciones de la producción. Esto ocurre especialmente en las dimensiones o grupos de medida que crecen con rapidez con el tiempo.

Soluciones

Las soluciones de escasez del espacio de disco dependen de las causas raíz, que se deben investigar en cada caso cuando se produzca el problema. Cualquiera de los siguientes métodos posibles puede paliar esta situación:

Externo

Configurar las propiedades del servidor en Analysis Services

Documentación de TechNet para los contadores de rendimiento de SSAS

Guía sobre rendimiento multidimensional de SSAS

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Umbral crítico (%)

El estado cambia a Crítico si el contador de rendimiento de espacio disponible de base de datos (%) es inferior al umbral.

5

Habilitado

Habilita o deshabilita el flujo de trabajo

Genera alertas

Define si el flujo de trabajo genera una alerta

Intervalo (segundos)

Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo.

900

Hora de sincronización

Hora de sincronización especificada en un formato de 24 horas. Se puede omitir.

 

Tiempo de espera (segundos)

Especifica el tiempo durante el que se puede ejecutar el flujo de trabajo antes de que se cierre y se marque como error.

300

Umbral de advertencia (%)

El estado cambia a Advertencia si el contador de rendimiento de espacio disponible de base de datos (%) es inferior al umbral pero superior al Umbral crítico (%).

10

Element properties:

TargetMicrosoft.SQLServer.2016.AnalysisServices.MultidimensionalDatabase
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.AnalysisServices.MonitorType.Database.FreeSpacePercent
RemotableTrue
AccessibilityPublic
Alert Message
SSAS 2016: el espacio libre en la base de datos no es suficiente
Solo está disponible para la carpeta de base de datos de instancia multidimensional de SSAS "{2}" de la unidad "{4}" el {5} \% del espacio disponible, un valor inferior al umbral configurado para el monitor.
Unidad (punto de montaje): {4}
Ubicación de almacenamiento: {2}
Tamaño de disco: {1} GB
Espacio disponible de base de datos: {6} GB ({5} \%)
Tamaño de carpeta de base de datos: {3} GB
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.MultidimensionalDatabase.FreeSpace" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.MultidimensionalDatabase" TypeID="Microsoft.SQLServer.2016.AnalysisServices.MonitorType.Database.FreeSpacePercent" ParentMonitorID="SystemHealth!System.Health.PerformanceState" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.MultidimensionalDatabase.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.2016.AnalysisServices.Database']/StorageLocation$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='DatabaseDefaultForlderSizeGB']$</AlertParameter4>
<AlertParameter5>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2016.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.2016.AnalysisServices.Instance']/ServiceName$</ServiceName>
<DatabaseName>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Database"]/DatabaseName$</DatabaseName>
<ConnectionString>$Target/Host/Property[Type='SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance']/ConnectionString$</ConnectionString>
<DataDir>$Target/Host/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>