web-dev-qa-db-ja.com

この破損したページを修正するにはどうすればよいですか?

データベースは単純復旧モードです。 1つのページが破損し、単純なバックアップを使用して作成されたバックアップしかありません。

これを実行すると:

DBCC PAGE ('myDB', 1, 952663, 3)

私は得ます:

DBCC PAGE error: Invalid page type - dump style 3 not possible.

SQL Server detected a logical consistency-based I/O error: incorrect pageid (expected 1:952663; actual 2668:-1594740640). It occurred during a read of page (1:952663) in database ID 5 at offset 

Msg 8909, Level 16, State 1, Line 1
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 332114207834112 (type Unknown), page ID (1:952663) contains an incorrect page ID in its page header. The PageId in the page header = (2668:-1594740640).
CHECKDB found 0 allocation errors and 1 consistency errors not associated with any single object.
Msg 8928, Level 16, State 1, Line 1
Object ID 1131971209, index ID 1, partition ID 72057595034861568, alloc unit ID 72057595204796416 (type In-row data): Page (1:952663) could not be processed.  See other errors for details.
Msg 8976, Level 16, State 1, Line 1
Table error: Object ID 1131971209, index ID 1, partition ID 72057595034861568, alloc unit ID 72057595204796416 (type In-row data). Page (1:952663) was not seen in the scan although its parent (1:1616550) and previous (1:2296409) refer to it. Check any previous errors.
Msg 8978, Level 16, State 1, Line 1
Table error: Object ID 1131971209, index ID 1, partition ID 72057595034861568, alloc unit ID 72057595204796416 (type In-row data). Page (1:1743775) is missing a reference from previous page (1:952663). Possible chain linkage problem.
Msg 2511, Level 16, State 1, Line 1
Table error: Object ID 1131971209, index ID 25, partition ID 72057595034796032, alloc unit ID 72057595204730880 (type In-row data). Keys out of order on page (1:3474431), slots 237 and 238.
CHECKDB found 0 allocation errors and 4 consistency errors in table 'TransactionEntry' (object ID 1131971209).
CHECKDB found 0 allocation errors and 5 consistency errors in database 'DsPointOfSale'.
repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKDB (DsPointOfSale).

このデータベースをまだ修復できますか?

2
Ezi

したがって、影響を受けるクラスター化インデックスです。もし私だったら、おそらくDBCC PAGE( 'myDB'、1、952663、2);を試してみるでしょう。復元されたバックアップと壊れたDBの両方で、まずWinmergeで確認して比較し、そこから何かを推測できるかどうかを確認します(たとえば、ページヘッダーに非常に類似しているが破損している場合は、復元されたファイルでスタイル3のDBCCを使用できます。 REPAIR_ALLOW_DATA_LOSSの後で特定の行を復元するための適切なアイデアを得るためのDB。それ以外の場合は、2つのテーブル間でデータを比較し、その方法で復元する必要がある行を特定できるかどうかを確認する必要があります。– Martin Smith

3
Ezi