Saya ingin dapat menjalankan kueri untuk mendapatkan informasi penting tentang status database. Yaitu, saya ingin query untuk dapat mengetahui apakah database dalam keadaan baik atau tidak.
Ini adalah kueri yang saya warisi untuk pemeriksaan ini:
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)
Jika kueri itu mengembalikan hasil apa pun, asumsi yang dibuat adalah bahwa database tersebut dalam kondisi tersangka atau berpotensi buruk.
Apakah ada cara yang lebih baik untuk melakukan ini?