クエリを実行して、データベースのステータスに関する重要な情報を取得できるようにしたいと思います。つまり、データベースが良好な状態にあるかどうかをクエリで確認できるようにする必要があります。
これは、このチェックのために継承したクエリです。
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)
そのクエリが結果を返す場合、データベースが疑わしい状態または潜在的に悪い状態にあるという仮定が行われます。
これを行うためのより良い方法はありますか?