dbcc checkdb
データベースのクエリでエラーが発生します。それは何ですか、それは危険ですか、どのように解決しますか?
完全なログファイル: ダウンロードファイル または githubで表示 (エラーは文字列364から始まります)
可能性以前にディスクd:\のクラッシュがありました(d:\ Dataに.mdfおよび.ldfファイルがあります)。ディスクがバックアップから復元されました。しかし、これらのエラーがこのハードウェアのクラッシュに関連しているかどうかはわかりません。
「DocStreams」のDBCC結果。メッセージ8914、レベル16、状態1、行1オブジェクトID 1993058136、インデックスID 1、パーティションID 72057594434682880、割り当てユニットID 71906736119218176(タイプLOBデータ)のページ(1:103151)のPFS空き領域情報が正しくありません。期待値0_PCT_FULL、実際の値100_PCT_FULL。メッセージ8914、レベル16、状態1、行1オブジェクトID 1993058136、インデックスID 1、パーティションID 72057594434682880、割り当てユニットID 71906736119218176(タイプLOBデータ)のページ(1:103887)のPFS空き領域情報が正しくありません。期待値0_PCT_FULL、実際の値100_PCT_FULL。メッセージ8914、レベル16、状態1、行1オブジェクトID 1993058136、インデックスID 1、パーティションID 72057594434682880、割り当てユニットID 71906736119218176(タイプLOBデータ)のページ(1:104839)のPFS空き領域情報が正しくありません。期待値0_PCT_FULL、実際の値100_PCT_FULL。
ジョンへの返信ありがとうございます!
DBをバックアップしてクラスター化インデックスを再構築しようとしましたが、役に立ちませんでした。私が理解しているように、パッチはありませんが、それは古いバグです。または、ハードウェアのクラッシュ時に実際に何かが破損しました。
これは役立ちました:
--dbcc checkdb;
--dbcc checktable(DocStreams) WITH ALL_ERRORMSGS;
ALTER DATABASE WSS_Content
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
dbcc checktable(DocStreams, REPAIR_FAST) WITH ALL_ERRORMSGS;
GO
dbcc checktable(DocStreams, REPAIR_REBUILD) WITH ALL_ERRORMSGS;
-- use this only if above does not work
--DBCC CHECKTABLE(DocStreams, REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS;
ALTER DATABASE WSS_Content SET MULTI_USER;
しかし最初に
このコマンドを使用してテーブルもバックアップしました(Enterキーを複数回押します):
bcp WSS_Content.dbo.DocStreams out C:\ backups\DocStreams\DocStreams.dat -t -T
一時停止
ご自身の責任で使用してください)
更新:または「最初に(lob_compaction = on)で再編成」を試すことができます( link )