Bir veritabanının durumu hakkında önemli bilgileri almak için bir sorgu çalıştırmak istiyorum. Yani, sorgunun veritabanının iyi durumda olup olmadığını söyleyebilmesini istiyorum.
Bu kontrol için miras aldığım sorgu:
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)
Bu sorgu herhangi bir sonuç döndürürse, yapılan varsayım, veritabanının şüpheli veya potansiyel olarak kötü durumda olduğudur.
Bunu yapmanın daha iyi bir yolu var mı?