web-dev-qa-db-ja.com

DBCCcheckdbが最後に実行された日付

T-SQLを使用すると、DBCC DBINFO()を介して最後の既知の正常なDBCCCheckdbを取得できます。
私の質問は、SQLのどこかで、最後のDBCC Checkdbが実行されたときに見つけることができますか? (成功したかどうかに関係なく)

日付が一致しない場合にアクションを実行できるように、最後に実行された日付を最後に確認された正常なDBCCcheckdbと比較するためにこの情報が必要になります。

私はSQLExpressを使用しているため、SQLServerエージェントを使用してDBCCcheckdbを実行することはできず、ランダムに実行できます。

どんな助けでも大歓迎です。ありがとうございました

1
JohnG

達成する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から。

3
Kin Shah