Quiero poder ejecutar una consulta para obtener la información crucial sobre el estado de una base de datos. Es decir, quiero que la consulta pueda decir si la base de datos está o no en buen estado.
Esta es la consulta que heredé para esta verificación:
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 esa consulta devuelve algún resultado, se supone que la base de datos está en un estado sospechoso o potencialmente malo.
¿Hay una mejor manera de hacer esto?