État de la base de données

Microsoft.SQLServer.2016.Database.DBStatusMonitor (UnitMonitor)

Cette analyse vérifie l’état de la base de données signalé par Microsoft SQL Server.

Knowledge Base article:

Résumé

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.

Causes

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.

Solutions

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

Externe

Pour plus d’informations sur SQL Server, consultez le site à l’adresse suivante :

http://go.microsoft.com/fwlink/?LinkId=799305

Paramètres remplaçables

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

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.DBStatus
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016 : la base de données est hors connexion/en attente de récupération/suspecte/en état d’urgence
La base de données {2} de l’instance SQL Server {1} de l’ordinateur {0} est hors connexion/en attente de récupération/suspecte/en état d’urgence.
RunAsDefault

Source Code:

<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>Error</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>