État de la base de données

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

Ce moniteur vérifie l'état de la base de données signalé par Microsoft® SQL Server™.

Knowledge Base article:

Résumé

Ce moniteur 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 ce moniteur, une action est nécessaire pour replacer la base de données dans un état opérationnel.

Causes

Un état défectueux indique que la base de données SQL Server™ n'est pas disponible actuellement. Tous les états, excepté l'état ONLINE, provoquent un état défectueux. Les états possibles sont décrits ci-dessous :

État de la base de données SQL

Description

État de fonctionnement MOM

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 est indisponible. 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 replacée en ligne une fois le déplacement effectué.

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 est indisponible. 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

Au moins le groupe de fichiers principal est suspect et peut être endommagé. La base de données ne peut pas être récupérée lors du démarrage de SQL Server™. La base de données est indisponible. 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.

AVERTISSEMENT

RECOVERING

La base de données est en cours de récupération. Le processus de restauration est un état transitoire ; la base de données 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://www.microsoft.com/sql

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

Heure de la synchronisation, spécifiée selon un format de 24 heures. Peut être omise.

 

Délai d'attente (secondes)

Spécifie la durée pendant laquelle le flux de travail est autorisé à s'exécuter avant d'être fermé et marqué comme ayant échoué.

300

Element properties:

TargetMicrosoft.SQLServer.2012.Database
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.DBStatus
RemotableTrue
AccessibilityPublic
Alert Message
Base de données hors connexion
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 mode urgence
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.Database.DBStatusMonitor" Accessibility="Public" Enabled="true" Target="SQL2012Core!Microsoft.SQLServer.2012.Database" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.DBStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.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="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL!Microsoft.SQLServer.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="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<IntervalSeconds>3600</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>