T-SQLを使用すると、DBCC DBINFO()を介して最後の既知の正常なDBCCCheckdbを取得できます。
私の質問は、SQLのどこかで、最後のDBCC Checkdbが実行されたときに見つけることができますか? (成功したかどうかに関係なく)
日付が一致しない場合にアクションを実行できるように、最後に実行された日付を最後に確認された正常なDBCCcheckdbと比較するためにこの情報が必要になります。
私はSQLExpressを使用しているため、SQLServerエージェントを使用してDBCCcheckdbを実行することはできず、ランダムに実行できます。
どんな助けでも大歓迎です。ありがとうございました
達成する1つの方法は、 デフォルトのトレースから物理的な永続テーブルに情報を記録する です。
デフォルトのトレースは、SQLサーバーのブラックボックスレコーダーのようなもので、デフォルトでオンになっています。 116 (EventID ) Audit DBCC Event (Event Description)
を記録します。
Checkdbの決定に _dbi_dbccLastKnownGood
_のみに依存 実行 誤解を招く as DBCC CHECKDB ('your_db_name') WITH PHYSICAL_ONLY
は、_dbi_dbccLastKnownGood
_とともに_DBCC CHECKFILEGROUP
_を更新します。
Checkdbが正常に実行されたことを確認する唯一の方法は、実際にそれを実行し、すべてのエラーメッセージ(存在する場合)を記録することです。
また、以下を参照してください: SQL Serverからデフォルトで取得できるイベント情報は何ですか? AaronBertrandから。