復元テストとDBCCチェックを実行するジョブをスケジュールしたテスト環境があります。これらのジョブは次のように実行されます。
1)データベースをバックアップからコピーします。
2)DROP
dba_utility
を除くすべての既存のデータベース
3)バックアップを復元します
4)dbcc checkdb
を実行します
私は頻繁に得ます:
Time-out occurred while waiting for buffer latch type 2 for page (1:3564879), database ID 7.
奇妙なことに、Id
が7
のデータベースはありません。Maximum Id
のsys.databases
カタログビューは6です(dba_utility
を除くId=5
を除く、リストア操作前のジョブDROP
すべてのデータベースを思い出してください。新しく復元されたデータベースには6というIDが割り当てられます。
製品環境は2008 R2、テスト環境は2012 SP1です。
何が原因でしょうか?
インスタントファイル初期化を有効にすると問題は解決するようです
dbcc checkdbを実行する
CHECKDB 舞台裏でデータベースのスナップショットを作成します 。これはDBID 7です。
タイムアウトについては、おそらく SQL Serverに1つ以上の非常に大きなテーブルが含まれているデータベースでDBCC CHECKDBステートメントを実行すると、「KB919155エラーメッセージ: "ラッチの待機中にタイムアウトが発生しました" 。 「この動作は仕様です。」 3564879ページは IAMチェーンページ ですか?