Quero poder executar uma consulta para obter as informações cruciais sobre o status de um banco de dados. Ou seja, eu quero que a consulta seja capaz de dizer se o banco de dados está ou não em bom estado.
Esta é a consulta que eu herdei para esta verificação:
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)
Se essa consulta retornar algum resultado, pressupõe-se que o banco de dados esteja em um estado suspeito ou potencialmente ruim.
Existe uma maneira melhor de fazer isso?