Este monitor comprueba el estado de la copia de seguridad de la base de datos tal y como informa de ella Microsoft SQL Server. Nota: Esta regla está deshabilitada de manera predeterminada. Use las invalidaciones para habilitarla cuando sea necesario.
Este monitor comprueba la existencia y antigüedad de la copia de seguridad de base de datos devueltas por Microsoft SQL Server. Para ello, se ejecuta una consulta en la base de datos maestra de la instancia de SQL y se devuelve la antigüedad de la copia de seguridad de base de datos.
Hace demasiado tiempo que no se realiza la copia de seguridad de la base de datos.
Debe realizar una copia de seguridad de la base de datos para resolver el problema.
Para eliminar este problema en el futuro se recomienda programar una copia de seguridad automatizada según las necesidades de la aplicación y los requisitos empresariales.
El monitor de estado de copia de seguridad de la base de datos no tiene ninguna lógica para seguir si la base de datos es una réplica secundaria o no.
Puesto que AOG tiene una lógica de copia de seguridad avanzada que requiere una copia de seguridad de al menos una de las bases de datos implicadas, el monitor puede generar alertas de falsos positivos.
El monitor está deshabilitado de forma predeterminada. Si desea habilitar el escenario de supervisión para su entorno, se recomienda mantener el monitor deshabilitado para todos los servidores que no se usan para almacenar la copia de seguridad de la base de datos.
Las prácticas recomendadas para las copias de seguridad de base de datos de SQL Server
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 |
Período de copia de seguridad (días) | Frecuencia de copia de seguridad de destino en días. Se debe definir de acuerdo con el objetivo de punto de recuperación (RPO). | 7 |
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. | 86400 |
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 |
Target | Microsoft.SQLServer.Windows.Database | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Windows.MonitorType.Database.DBBackupStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Windows.Monitor.Database.DBBackupStatus" Accessibility="Public" Enabled="false" Target="SqlDiscW!Microsoft.SQLServer.Windows.Database" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.Database.DBBackupStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Windows.Monitor.Database.DBBackupStatus.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>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='DaysSinceBackup']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" HealthState="Error"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<DatabaseName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<Threshold>7</Threshold>
<IntervalSeconds>86400</IntervalSeconds>
<SyncTime/>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>