El monitor proporciona una advertencia cuando el espacio disponible en disco para el contenedor del grupo de archivos de datos con optimización para memoria es inferior al valor del umbral de advertencia, expresado como porcentaje de la suma del tamaño del contenedor del grupo de archivos de datos con optimización para memoria más el espacio disponible en disco. El monitor notifica una alerta crítica cuando el espacio disponible es inferior al umbral crítico.
El monitor proporciona una advertencia cuando el espacio disponible en disco para el contenedor del grupo de archivos de datos con optimización para memoria es inferior al valor del umbral de advertencia, expresado como porcentaje de la suma del tamaño del contenedor del grupo de archivos de datos con optimización para memoria más el espacio disponible en disco. El monitor notifica una alerta crítica cuando el espacio disponible es inferior al umbral crítico.
La carpeta del contenedor del grupo de archivos de datos con optimización para memoria normalmente crece con el tiempo a medida que se agregan más datos a las tablas de datos con optimización para memoria. Como tal, los administradores querrán supervisar para asegurarse de que queda espacio suficiente en la ubicación de almacenamiento para la carpeta del contenedor.
Cuando el espacio disponible en 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 impiden el procesamiento correcto de los datos, lo que retrasa las consultas del usuario o afecta a otras aplicaciones que comparten la misma asignación de espacio en disco.
El almacenamiento se asigna como parte de las operaciones DML en las tablas con optimización para memoria duradera. Hay que configurar el almacenamiento hasta el cuádruple del tamaño de los datos con optimización para memoria de las tablas con optimización para memoria duradera. Si ha configurado el almacenamiento correctamente, pero el espacio de almacenamiento libre sigue siendo bajo, puede que la E/S por segundo admitida por los contenedores no pueda admitir la demanda de la carga de trabajo. La recomendación general para los contenedores es admitir el triple de la E/S por segundo de la frecuencia de generación de datos para atender el rellenado de los archivos delta y de datos y para la operación de combinación automática que tiene que leer los archivos delta y de datos de origen y, después, combinarlos en un CFP de destino.
Las soluciones para la escasez del espacio disponible de disco dependen de las causas raíz, que se deben investigar en cada caso cuando se produzca el problema. Existen muchos enfoques potenciales para paliar esta situación:
Disminuya la cantidad de datos almacenados en las tablas de datos con optimización para memoria.
Quite los datos que consumen espacio en disco en la misma unidad con la carpeta del contenedor del grupo de archivos de datos con optimización para memoria.
Agregue otro contenedor al grupo de archivos de datos con optimización para memoria.
Aumente el tamaño de la unidad lógica en la que se almacena la carpeta del contenedor del grupo de archivos de datos con optimización para memoria con el Administrador de discos.
Copie toda la carpeta del contenedor del grupo de archivos de datos con optimización para memoria en una unidad nueva con más espacio disponible.
Modifique los umbrales como corresponda para ajustarlos a la carga de trabajo esperada y a las condiciones del entorno.
Deshabilite el monitor completamente si el espacio en disco no constituye un problema para la instancia.
Nombre | Descripción | Valor predeterminado |
Prioridad de la alerta | Define la prioridad de alerta. | Normal |
Gravedad de la alerta | Define la gravedad de alerta. | Error |
Tamaño de archivo máximo 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. | 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 que el flujo de trabajo se puede ejecutar antes de cerrarlo y marcarlo como erróneo. | 300 |
Tiempo de expiración de la conexión de base de datos (segundos) | Se producirá un error en el flujo de trabajo y se registrará un evento si no puede obtener acceso a la base de datos durante el período especificado. | 15 |
Umbral de advertencia | El monitor cambiará al estado "Advertencia" si el valor se sitúa por debajo de este umbral. | 20 |
Target | Microsoft.SQLServer.Linux.Container | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Linux.MonitorType.Container.FreeSpacePercent | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Linux.Monitor.Container.FreeSpacePercent" Accessibility="Public" Enabled="true" Target="SqlDiscL!Microsoft.SQLServer.Linux.Container" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Linux.MonitorType.Container.FreeSpacePercent" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Linux.Monitor.Container.FreeSpacePercent.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.File"]/FileName$</AlertParameter3>
<AlertParameter4>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Filegroup"]/GroupName$</AlertParameter4>
<AlertParameter5>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='DiskTotalSizeMB']$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='FreeSpacePercent']$</AlertParameter7>
<AlertParameter8>$Data/Context/Property[@Name='FreeSpaceMB']$</AlertParameter8>
<AlertParameter9>$Data/Context/Property[@Name='AllocatedSizeMB']$</AlertParameter9>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Critical" MonitorTypeStateID="ContainerFreeSpaceCritical" HealthState="Error"/>
<OperationalState ID="Warning" MonitorTypeStateID="ContainerFreeSpaceWarning" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="ContainerFreeSpaceSuccess" HealthState="Success"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<DatabaseName>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<FileName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.File"]/FileName$</FileName>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
<CriticalThreshold>10</CriticalThreshold>
<WarningThreshold>20</WarningThreshold>
<ConnectionString>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>