Espacio que queda disponible en el archivo de registro de la base de datos

Microsoft.SQLServer.2016.Monitoring.DBLogFileSpaceMonitor (UnitMonitor)

El monitor proporciona una advertencia cuando el espacio disponible (incluido tanto el espacio ya asignado como el espacio disponible en los medios) cae por debajo de la configuración del umbral de advertencia, expresado como porcentaje de la suma del tamaño de datos más 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

El monitor supervisa el espacio disponible en el archivo de registro y en el medio que lo hospeda. El espacio disponible en el medio solo se considera parte del espacio disponible si el crecimiento automático está habilitado al menos para uno de los archivos.

Causas

Si hay poco espacio disponible en todos los archivos de registro, se genera un estado incorrecto. El poco espacio disponible se puede deber a:

Utilice los siguientes vínculos para ver los datos de rendimiento: Datos de rendimiento de espacio disponible del registro de archivo de base de datos.

Este monitor agrega el espacio disponible para cada archivo de registro de una base de datos según su configuración:

Sin crecimiento automático

Para un archivo que no tenga crecimiento automático, el espacio disponible será la diferencia entre el tamaño inicial de un archivo y el espacio usado.

Crecimiento automático habilitado

Además de la diferencia entre el tamaño de archivo y el espacio usado, el espacio disponible para los archivos con crecimiento automático habilitado será el mínimo de la diferencia entre el tamaño máximo y el tamaño de archivo y el espacio disponible restante en el disco.

El poco espacio disponible para los archivos de base de datos que tienen crecimiento automático puede significar que el archivo se acerca a los límites de la unidad lógica de hospedaje. En el caso de los archivos que tienen habilitado el crecimiento automático con un tamaño máximo, el poco espacio disponible también puede significar que el archivo se acerca al tamaño máximo especificado para él.

Además, en los cálculos de espacio disponible se tiene en cuenta que el archivo también puede dejar de crecer si la cantidad de crecimiento del archivo es mayor que la cantidad restante en el disco y que el archivo no puede crecer si la diferencia entre el tamaño máximo y el tamaño de archivo actual es menor que la cantidad de crecimiento. En estas situaciones, el espacio disponible que queda en el disco no se incluye como parte del espacio disponible porque no puede crecer más.

Soluciones

Para solucionar este problema puede:

Vea los Libros en pantalla de SQL Server: Arquitectura de archivos y grupos de archivos.

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Prioridad de alerta

Define la prioridad de la alerta.

Normal

Gravedad de alerta

Define la gravedad de la alerta.

Error

Tamaño máximo del archivo de Azure (MB)

Tamaño máximo del archivo de datos almacenado en Azure BLOB Storage. El flujo de trabajo considerará este valor como capacidad de almacenamiento máxima para cada archivo.

1048576

Umbral crítico

El monitor cambiará al estado Crítico si el valor se sitúa por debajo de este umbral. Si se sitúa entre este umbral y el umbral de advertencia (incluido), el estado del monitor será de advertencia.

10

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 monitor cambiará al estado Advertencia si el valor se sitúa por debajo de este umbral.

20

Element properties:

TargetMicrosoft.SQLServer.2016.DBLogFile
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.DBLogFileSizeMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: el archivo de registro de base de datos se está quedando sin espacio
El archivo de registro de base de datos "{0}" de la base de datos "{1}" de la instancia de SQL "{2}" del equipo "{3}" se está quedando sin espacio. Vea la sección de la base de conocimientos para obtener más detalles.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.Monitoring.DBLogFileSpaceMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBLogFile" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBLogFileSizeMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Monitoring.DBLogFileSpaceMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.File"]/FileName$</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>
<AlertParameter5>$Data/Context/Property[@Name='FreeSpaceMB']$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='FreeSpacePercent']$</AlertParameter6>
</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>
<DatabaseName>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<DBFileId>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.File"]/FileID$</DBFileId>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
</Configuration>
</UnitMonitor>