Cambio de porcentaje de espacio de la base de datos

Microsoft.SQLServer.2008.Database.DBSizePercentageChangeMonitor (UnitMonitor)

Supervisa si hay un cambio importante en el valor de espacio disponible de la base de datos a lo largo de un número determinado de períodos de ejemplo.

Knowledge Base article:

Resumen

Supervisa si hay un cambio importante en el valor de espacio disponible de la base de datos a lo largo de un número determinado de períodos de ejemplo. Un cambio rápido e importante en el valor puede indicar un problema.

Causas

Estado incorrecto producido por un cambio importante en el espacio disponible a lo largo de un número establecido de períodos de muestra. Esto puede deberse a:

Use el siguiente vínculo para ver los datos de rendimiento: Datos de rendimiento de la base de datos

Este monitor agrega el espacio disponible para cada archivo de un grupo de archivos 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.

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:

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.

MatchMonitorHealth

Habilitado

Habilita o deshabilita el flujo de trabajo.

No

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

Umbral inferior

El umbral inferior de este monitor.

25

Número de ejemplos

Indica cuántas veces debe superar un umbral un valor medido para que cambie el estado.

5

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 superior

Umbral superior de este monitor.

45

Element properties:

TargetMicrosoft.SQLServer.2008.Database
Parent MonitorMicrosoft.SQLServer.2008.Database.DBSpaceMonitor
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBPercentageChange
RemotableTrue
AccessibilityPublic
Alert Message
Cambio de porcentaje importante en el espacio disponible total de la base de datos
Se ha producido un cambio importante en el espacio disponible de la base de datos {0} en la instancia de SQL {1} del equipo {2}. Vea la pestaña “Contexto de alerta” para obtener más detalles.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.Database.DBSizePercentageChangeMonitor" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="Microsoft.SQLServer.2008.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBPercentageChange" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.DBSizePercentageChangeMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Success"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/PerformanceCounterObject$ : Database</ObjectName>
<CounterName>DB Total Free Space (%)</CounterName>
<InstanceName>$Data/Property[@Name='Database']$</InstanceName>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBFreeSpacePercent']$</Value>
<Threshold1>25</Threshold1>
<Threshold2>45</Threshold2>
<NumSamples>5</NumSamples>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>