Duración prevista de la página (s) del motor de base de datos
La duración prevista de la página es el número de segundos que permanecerá una página en el grupo de búferes sin referencias. Una duración prevista de la página elevada quiere decir que los datos necesarios se encuentran en caché, en lugar de ir a la unidad de disco duro.
Unos valores extremadamente bajos de la duración prevista de la página pueden indicar:
Memoria demasiado pequeña del sistema
Memoria demasiado pequeña configurada para el uso de SQL Server
Diseño deficiente de los índices
Compruebe el sistema de E/S para verificar cómo controla la carga, si los valores de los contadores Promedio de segundos de disco/lectura y Promedio de segundos de disco/escritura del objeto PhysicalDisk son altos (normalmente, superiores a 10 milisegundos), significa que el sistema puede estar sobrecargado o que hay posibilidades de mejorar la consulta y el índice.
El grupo de búferes se puede sobrecargar porque SQL Server trabaja con una gran cantidad de tablas simultáneamente, o porque el examen completo se usa en lugar de la búsqueda por criterios. Consulte SQL Server: métodos de acceso: contador de exámenes completos por segundo para comprobar el problema.
Puede usar SQL Server Profiler y examinar las estadísticas del plan de presentación en la categoría Rendimiento para buscar una aplicación que produzca el examen completo.
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 |
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. | 300 |
Número de ejemplos | Indica cuántas veces debe superar un umbral un valor medido antes de que cambie el estado. | 6 |
Hora de sincronización | Hora de sincronización especificada en un formato de 24 horas. Se puede omitir. |
|
Umbral | El valor recopilado se comparará con este parámetro. | 300 |
Tiempo de espera (segundos) | Especifica el tiempo que el flujo de trabajo se puede ejecutar antes de cerrarlo y marcarlo como erróneo. | 200 |
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 |
Target | Microsoft.SQLServer.Windows.DBEngine | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Windows.MonitorType.DBEngine.PageLifeExpectancy | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Windows.Monitor.DBEngine.PageLifeExpectancy" Accessibility="Public" Enabled="false" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.DBEngine.PageLifeExpectancy" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Windows.Monitor.DBEngine.PageLifeExpectancy.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<Threshold>300</Threshold>
<NumSamples>6</NumSamples>
<TimeoutSeconds>200</TimeoutSeconds>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<PerformanceCounterObject>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/PerformanceCounterObject$</PerformanceCounterObject>
</Configuration>
</UnitMonitor>