Je veux pouvoir exécuter une requête pour obtenir les informations cruciales sur l'état d'une base de données. C'est-à-dire que je veux que la requête puisse dire si la base de données est en bon état ou non.
Voici la requête dont j'ai hérité pour cette vérification:
SELECT name AS [SuspectDB],
DATABASEPROPERTY(name, N'IsSuspect') AS [Suspect],
DATABASEPROPERTY(name, N'IsOffline') AS [Offline],
DATABASEPROPERTY(name, N'IsEmergencyMode') AS [Emergency],
has_dbaccess(name) AS [HasDBAccess]
FROM sysdatabases
WHERE (DATABASEPROPERTY(name, N'IsSuspect') = 1)
OR (DATABASEPROPERTY(name, N'IsOffline') = 1)
OR (DATABASEPROPERTY(name, N'IsEmergencyMode') = 1)
OR (has_dbaccess(name) = 0)
Si cette requête renvoie des résultats, l'hypothèse posée est que la base de données est dans un état suspect ou potentiellement mauvais.
Y a-t-il une meilleure manière de faire cela?