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.
El monitor supervisa el espacio disponible en un archivo y en el medio que lo hospeda. El espacio disponible en el medio solo se considera si el crecimiento automático está habilitado para este archivo.
Si hay poco disponible para este archivo, se genera un estado incorrecto. El poco espacio disponible se puede deber a:
Valores de configuración de archivo no adecuados (tamaño, tamaño máximo, crecimiento automático, etc.)
Espacio no adecuado restante en el medio
Utilice el siguiente vínculo para ver los datos de rendimiento: Datos de rendimiento de espacio disponible del archivo de base de datos.
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
Con el crecimiento automático habilitado, el espacio en disco disponible se incluye como parte del espacio disponible sobrante. 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ía 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.
Para solucionar este problema puede:
Aumentar el tamaño asignado a un archivo o a todos los archivos de un grupo de archivos si el crecimiento automático está deshabilitado
Aumentar el valor de tamaño máximo para un archivo si el crecimiento automático está habilitado.
Habilitar el crecimiento automático para un archivo como mínimo.
Mover los archivos a otra unidad con más espacio disponible si el espacio de crecimiento es limitado.
Modificar los umbrales de este monitor para que se adapte a la carga de trabajo.
Por otro lado, si el espacio disponible del grupo de archivos no constituye un problema para la base de datos:
Deshabilite este monitor para este grupo de archivos específico o para todos los grupos de archivos.
Vea los Libros en pantalla de SQL Server: Arquitectura de archivos y grupos de archivos.
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 el almacenamiento BLOB de Azure. 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. | Sí |
Genera alertas | Define si el flujo de trabajo genera una alerta. | Sí |
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 |
Target | Microsoft.SQLServer.2016.DBFile | ||
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.DBFileSizeMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2016.Monitoring.DBFileSpaceMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBFile" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBFileSizeMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Monitoring.DBFileSpaceMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.File"]/FileName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.FileGroup"]/GroupName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter3>
<AlertParameter4>$Target/Host/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter4>
<AlertParameter5>$Target/Host/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter5>
</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/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>SQL DB File</ObjectName>
<CounterName>DB File Free Space (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<DBFileId>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.File"]/FileID$</DBFileId>
<Value>$Data/Property[@Name='FreeSpacePercent']$</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
</Configuration>
</UnitMonitor>