Я хочу иметь возможность выполнить запрос, чтобы получить важную информацию о состоянии базы данных. Т.е. я хочу, чтобы запрос мог определить, находится ли база данных в хорошем состоянии.
Это запрос, который я унаследовал для этой проверки:
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)
Если этот запрос возвращает какие-либо результаты, предполагается, что база данных находится в подозрительном или потенциально плохом состоянии.
Есть лучший способ это сделать?