Cette analyse vérifie l’état de la base de données signalé par Microsoft SQL Server.
Cette analyse vérifie l’état de la base de données signalé par Microsoft SQL Server. Cette opération est effectuée en exécutant une requête sur la base de données master de l’instance SQL et en retournant l’état de la base de données. Si vous recevez une alerte de cette analyse, vous devez faire en sorte que la base de données fonctionne à nouveau.
Un état de fonctionnement anormal indique que la base de données SQL Server n’est pas disponible actuellement. Tous les états hormis l’état ONLINE (en ligne) engendrent un fonctionnement anormal. Les états possibles sont décrits ci-dessous :
État de la base de données SQL | Description | État d’intégrité |
ONLINE | La base de données est accessible. Le groupe de fichiers principal est en ligne, mais il est possible que la phase d'annulation de la récupération n'ait pas été effectuée. | Intègre |
OFFLINE | La base de données n'est pas disponible. Une base de données est mise hors connexion par une action explicite de l'utilisateur et reste dans cet état jusqu'à une nouvelle action de l'utilisateur. Par exemple, la base de données peut être mise hors connexion pour déplacer un fichier sur un nouveau disque. La base de données est ensuite ramenée en ligne une fois que le déplacement a eu lieu. | Critique |
RECOVERY PENDING | SQL Server a rencontré une erreur liée aux ressources pendant la récupération. La base de données n’est pas endommagée, mais des fichiers peuvent être absents ou des restrictions de ressources système peuvent l’empêcher de démarrer. La base de données n’est pas disponible. Une action de l’utilisateur est nécessaire pour résoudre l’erreur et permettre la poursuite du processus de récupération. | Critique |
SUSPECT | Le groupe de fichiers primaire (au minimum) est suspect et peut être endommagé. La base de données ne peut pas être récupérée pendant le démarrage de SQL Server. La base de données n'est pas disponible. Une action de l'utilisateur est nécessaire pour résoudre le problème. | Critique |
EMERGENCY | L'utilisateur a modifié la base de données et défini son état sur EMERGENCY. La base de données est en mode mono-utilisateur et peut être réparée ou restaurée. La base de données est marquée READ_ONLY, la journalisation est désactivée et l'accès est restreint aux membres du rôle serveur fixe sysadmin. EMERGENCY est essentiellement utilisé à des fins de dépannage. Par exemple, une base de données marquée SUSPECT peut être définie sur l'état EMERGENCY. Ceci peut permettre à l'administrateur système d'accéder en lecture seule à la base de données. Seuls les membres du rôle serveur fixe sysadmin peuvent définir l'état EMERGENCY pour une base de données. | Critique |
RESTORING | Un ou plusieurs fichiers du groupe de fichiers principal sont en cours de restauration, ou un ou plusieurs fichiers secondaires sont en cours de restauration hors connexion. La base de données est indisponible. | Critique |
RECOVERING | La base de données est en cours de récupération. Le processus de restauration est un état transitoire ; elle sera mise automatiquement en ligne si la récupération réussit. Si la récupération échoue, la base de données devient suspecte. La base de données n'est pas disponible. | Avertissement |
Pour rechercher l'état exact qui était signalé pour la base de données, examinez le contexte du changement d'état ou de l'alerte.
Vous pouvez tenter de réactiver la base de données pour résoudre le problème. Pour cela, exécutez la tâche suivante :
Configurer la base de données en ligne
Pour plus d’informations sur SQL Server, consultez le site à l’adresse suivante :
http://go.microsoft.com/fwlink/?LinkId=799305
Nom | Description | Valeur par défaut |
Priorité de l'alerte | Définit la priorité de l'alerte. | Normal |
Gravité de l'alerte | Définit la gravité de l'alerte. | Erreur |
Activé | Active ou désactive le flux de travail. | Oui |
Génère des alertes | Définit si le flux de travail génère une alerte. | Oui |
Intervalle (en secondes) | L'intervalle de temps récurrent en secondes pendant lequel le workflow est exécuté. | 3600 |
Heure de synchronisation | L'heure de synchronisation spécifiée dans un format de 24 heures. Peut être omise. |
|
Délai d'expiration (en secondes) | Spécifie la durée pendant laquelle le workflow est autorisé à être exécuté avant d'être fermé et marqué comme un échec. | 300 |
Target | Microsoft.SQLServer.2016.Database | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2016.DBStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2016.Database.DBStatusMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Database.DBStatusMonitor.AlertMessage">
<AlertOnState>Error</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="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" HealthState="Error"/>
<OperationalState ID="NeitherGoodNorBad" MonitorTypeStateID="NeitherGoodNorBad" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ConnectionString>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<IntervalSeconds>3600</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>