Stato di backup del database

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

Questo monitoraggio controlla lo stato del backup del database come riportato da Microsoft® SQL Server™.

Knowledge Base article:

Riepilogo

Questo monitoraggio controlla l'esistenza e la validità del backup del database come riportato da Microsoft® SQL Server™. Questo avviene eseguendo una query nel database master dell'istanza SQL e ottenendo la validità del backup del database.

Cause

Il backup del database non è stato eseguito per troppo tempo.

Soluzioni

Eseguire un backup del database per risolvere il problema.

Per eliminare questo problema in futuro è consigliabile pianificare un backup automatico in base alle esigenze dell'applicazione e dei requisiti aziendali.

Risorse esterne

Il monitoraggio Stato backup database non dispone della logica per rilevare se il database è una replica secondaria o meno.

Poiché il gruppo di disponibilità AlwaysOn dispone di una logica di backup avanzata che richiede un backup per almeno uno dei database interessati, il monitoraggio potrebbe generare avvisi falsi positivi.

Per impostazione predefinita questo monitoraggio è disabilitato. Se si vuole abilitare lo scenario di monitoraggio per l'ambiente in uso, è consigliabile mantenere il monitoraggio disabilitato per tutti i server non usati per l'archiviazione del backup del database.

Risorse esterne

Procedure consigliate per i backup di database di SQL Server

Element properties:

TargetMicrosoft.SQLServer.2008.Database
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBBackupStatus
RemotableTrue
AccessibilityPublic
Alert Message
È necessario eseguire il backup del database
Il backup del database "{2}" nell'istanza di SQL Server "{1}" nel computer "{0}" non è stato eseguito per i {3} giorni.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.Database.DBBackupStatusMonitor" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBBackupStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.DBBackupStatusMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</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>
<AlertParameter4>$Data/Context/Property[@Name='$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<Threshold>7</Threshold>
<IntervalSeconds>86400</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>