Espacio disponible en la base de datos

Microsoft.SQLServer.2012.AnalysisServices.UnitMonitor.TabularDatabase.FreeSpace (UnitMonitor)

El monitor proporciona una advertencia cuando el espacio disponible en disco para la carpeta de almacenamiento de base de datos tabular 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 y el espacio disponible en disco. El monitor emite una alerta crítica cuando el espacio disponible es inferior al umbral crítico.

Knowledge Base article:

Resumen

La carpeta de base de datos tabular de SSAS puede crecer con el tiempo a medida que se agregan constantemente más datos de los orígenes de datos. Por lo tanto, los administradores querrán supervisar el problema para asegurarse de que siempre queda espacio suficiente en la ubicación de almacenamiento para la carpeta de la base de datos.

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, lo que retrasa las consultas del usuario o afecta 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 bases de datos 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.2012.AnalysisServices.TabularDatabase
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.AnalysisServices.MonitorType.Database.FreeSpacePercent
RemotableTrue
AccessibilityPublic
Alert Message
SSAS 2012: el espacio libre en la base de datos no es suficiente
Solo está disponible para la carpeta de base de datos de instancia tabular 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.2012.AnalysisServices.UnitMonitor.TabularDatabase.FreeSpace" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="SQLAS!Microsoft.SQLServer.2012.AnalysisServices.TabularDatabase" TypeID="Microsoft.SQLServer.2012.AnalysisServices.MonitorType.Database.FreeSpacePercent" ParentMonitorID="SystemHealth!System.Health.PerformanceState" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.AnalysisServices.UnitMonitor.TabularDatabase.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.2012.AnalysisServices.Database']/StorageLocation$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='DatabaseDefaultForlderSizeGB']$</AlertParameter4>
<AlertParameter5>$Target/Property[Type='SQLAS!Microsoft.SQLServer.2012.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.2012.AnalysisServices.Instance']/ServiceName$</ServiceName>
<DatabaseName>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2012.AnalysisServices.Database"]/DatabaseName$</DatabaseName>
<ConnectionString>$Target/Host/Property[Type='SQLAS!Microsoft.SQLServer.2012.AnalysisServices.Instance']/ConnectionString$</ConnectionString>
<DataDir>$Target/Host/Property[Type='SQLAS!Microsoft.SQLServer.2012.AnalysisServices.Instance']/DataDir$</DataDir>
<CriticalThreshold>5</CriticalThreshold>
<WarningThreshold>10</WarningThreshold>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>