次のメッセージを報告する仮想化されたSQLServer 2005(SP3)があります。
Database_Name, Database_Id, File_Id, Event_Type, Event_Type_Desc, Error_Count, Last_Update_Date
tempdb, 2, 1, 3, Torn page., 1, 10 Dec 2014 06:32:36:033
tempdb, 2, 1, 3, Torn page., 1, 10 Dec 2014 06:32:36:043
tempdb, 2, 1, 3, Torn page., 1, 10 Dec 2014 06:32:36:050
tempdb, 2, 1, 3, Torn page., 1, 10 Dec 2014 06:32:36:057
...
この特定のサーバーでこのエラーが発生したのは、この1か月で2回目です。どちらの場合も、tempdb
にあり、Event_type = 3
(つまり、ページが破れた)のみ。 Event_type = 1
、これは823(ディスクエラー)または824エラーに対応します。
コマンドの実行:
DBCC CHECKDB WITH ALL_ERRORMSGS, PHYSICAL_ONLY
戻り値:
DBCC results for 'tempdb'.
DBCC CHECKDB will not check SQL Server catalog or Service Broker consistency because a database snapshot could not be created or because WITH TABLOCK was specified.
CHECKDB found 0 allocation errors and 0 consistency errors in database 'tempdb'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
言い換えれば、すべてがうまくいくように見えますが、なぜ疑わしいページが記録されるのですか?
実行されたその他のアクション:
HDDScan/chkdskを実行して、ドライブエラーがないことを確認します(エラーが発生した前後のWindowsイベントログにも関連するものは何も記録されていません)。
PAGE_VERIFYは現在NONE(デフォルト?)に設定されています-CHECKSUMに設定する可能性を調査しましたが、それはSQL Server2008以降のtempdb
でのみ可能です。
SQLサーバーを停止し、既存のtempdbファイルを削除し、再起動しました(質問のコメントに基づく-> TempDBのパーティションが破損すると、DBCC CHECKDBがエラーを報告しない可能性があります
同様の質問(右側)を読んでくださいが、どれも関係ありません。
他にチェック/実行する必要があるものはありますか、それともTempDB(つまり一時データ)のためにこれを単に無視する必要がありますか?
支援/入力をありがとう。
ストレージベンダーと協力して、書き込みが破損している理由を把握する必要があります。 tempdbで発生している場合は、別のデータベースでも発生している可能性が非常に高くなります。
これは、複数回発生した場合に特に当てはまります。