Este monitor detecta cuándo no se ha restaurado un registro en un destino de trasvase de registros dentro del umbral definido como parte de la configuración de trasvase de registros.
Tenga en cuenta que los trasvases de registros no son compatibles en ninguna edición de SQL Server Express.
Este monitor detecta cuándo no se ha restaurado un registro en un destino de trasvase de registros dentro del umbral definido como parte de la configuración de trasvase de registros. Cuando se produzca esta situación, el monitor cambiará a un estado crítico. Después de que se reanuden las restauraciones del registro y se encuentren dentro de los umbrales definidos, el monitor devolverá un estado correcto. De forma predeterminada, este monitor genera alertas cuando se encuentra en estado de error.
El trasvase de registros no está sincronizado más allá del umbral de restauración. El umbral de restauración es el número de minutos que pueden transcurrir entre operaciones de restauración antes de que se genere un mensaje.
Para solucionar este problema:
Asegúrese de que el servicio del Agente SQL Server está en ejecución para la instancia del servidor secundario y que el trabajo de restauración de la base de datos secundaria está habilitado y programado para funcionar con la frecuencia adecuada.
Es posible que exista un error en el trabajo de restauración del servidor secundario. En este caso, compruebe el historial de trabajos del trabajo de restauración para buscar la causa.
Es posible que el trabajo de restauración del trasvase de registros, que se ejecuta en la instancia del servidor secundario, no pueda conectarse a la instancia del servidor de supervisión para actualizar la tabla log_shipping_monitor_secondary. Esto puede deberse a un problema de autenticación entre la instancia del servidor de supervisión y la instancia del servidor secundario.
Es posible que el umbral de alerta de la copia de seguridad tenga un valor incorrecto. Lo ideal sería establecer este valor en el triple de la frecuencia del trabajo de restauración. Si cambia la frecuencia del trabajo de restauración después de configurar y poner en funcionamiento el trasvase de registros, debe actualizar en consecuencia el valor del umbral de alerta de la copia de seguridad.
Cuando la instancia del servidor de supervisión se queda sin conexión y después vuelve a estar en línea, la tabla log_shipping_monitor_secondary no se actualiza con los valores actuales antes de que se ejecute el trabajo del mensaje de alerta. El error 14421 se puede generar cuando un trabajo de restauración concluye correctamente y se muestra: "No se pudo encontrar un archivo de copia de seguridad de registros que se pudiera aplicar a la base de datos secundaria". Cuando esto sucede, no se actualiza la hora de la restauración. Es posible que la causa del error sea, en este caso, un problema en el trabajo de copia.
Para actualizar las tablas de supervisión con los últimos datos de la base de datos secundaria, ejecute sp_refresh_log_shipping_monitor en la instancia del servidor secundario.
La fecha o la hora es incorrecta en la instancia del servidor de supervisión o secundario. Esto puede generar también mensajes de alerta. Es posible que la fecha o la hora del sistema se haya modificado en uno de ellos.
Nota: Las zonas horarias diferentes para las dos instancias del servidor no deberían plantear ningún problema.
Tema sobre el trasvase de registros de los Libros en pantalla de SQL Server:
http://go.microsoft.com/fwlink/?LinkId=799310
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 |
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. | 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.Database | ||
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.Windows.MonitorType.Database.LogShipping | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Windows.LogShippingDestinationMonitor" Accessibility="Public" Enabled="true" Target="SqlDiscW!Microsoft.SQLServer.Windows.Database" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.Database.LogShipping" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Windows.LogShippingDestinationMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="DestOutOfSync" MonitorTypeStateID="Bad" HealthState="Error"/>
<OperationalState ID="DestInSync" MonitorTypeStateID="Good" HealthState="Success"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<DatabaseName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<LogShippingType>1</LogShippingType>
</Configuration>
</UnitMonitor>