데이터베이스 상태에 대한 중요한 정보를 얻기 위해 쿼리를 실행할 수 있기를 원합니다. 즉, 쿼리가 데이터베이스의 상태가 양호한 지 여부를 알 수 있기를 원합니다.
이것은이 검사를 위해 상속받은 쿼리입니다.
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)
해당 쿼리가 결과를 반환하면 데이터베이스가 의심 스럽거나 잠재적으로 나쁜 상태 인 것으로 가정합니다.
더 좋은 방법이 있습니까?