SQL Server データベース破損の原因と対処法|DBCC CHECKDBと復元の正しい手順

SQL Serverで「データベースが破損している可能性があります」「ページの整合性エラーが検出されました」といったエラーが出ると、業務停止やデータ消失につながる重大なトラブルに直面します。

データベース破損は、単なる論理エラーに見えても、背後にストレージやハードウェア障害が潜んでいることが少なくありません。さらに、誤った対処を行うことで、復元可能だったデータを自ら削除してしまうケースもあります。

本記事では、SQL Serverデータベース破損の主な原因とリスクを整理し、DBCC CHECKDBとバックアップ復元の正しい使い分け、そして最終手段としてのREPAIR実行手順までを体系的に解説します。

本ページには広告が含まれています。本コンテンツ経由で商品・サービスの申込みがあった場合、企業から送客手数料を受け取ることがあります。

SQL Serverデータベース破損の主な原因

SQL Serverのデータベース破損は、アプリケーションの誤操作よりも「インフラ起因」で発生するケースが多いのが特徴です。特にI/O経路やストレージ障害が絡むと、ページ破損や整合性エラーとして表面化します。

ここでは代表的な原因を整理します。原因を誤認したまま修復を実行すると、再発やさらなるデータ損失を招く恐れがあります。

突然の電源断・強制再起動

停電やOS強制終了により、トランザクションログの書き込み途中で停止すると、ページ不整合やログの整合性エラーが発生することがあります。再起動後に自動回復が失敗すると、データベースがRECOVERY_PENDINGやSUSPECT状態になる場合があります。

I/Oエラー・ファイルシステム不整合

NTFSの不整合、ドライバ不具合、SAN/NAS越しI/Oの瞬断などにより、ページ読み込みエラーや書き込み失敗が発生します。SQL ServerはI/Oエラーを検出するとエラーログに記録しますが、基盤側を修正しない限り再発する可能性があります。

HDD/SSD・RAIDなどストレージの物理障害

セクタ不良やRAIDコントローラ障害により、特定ページが読み出せない、あるいは別内容に化ける「ページ破損」が発生します。この状態で負荷をかけ続けると、破損範囲が拡大し、バックアップ取得すら困難になることがあります。

メモリ障害・ハードウェア故障

ECCなしメモリや劣化したメモリにより、誤ったデータが書き込まれることがあります。SQL Server上ではページ破損として検出されますが、根本はハードウェア障害であるケースもあります。

SQL Serverやドライバの不具合

特定バージョンの既知バグや未検証アップデート適用が原因になる場合もあります。更新履歴と発生タイミングが一致していないか確認が必要です。

データベース破損は放置すると、テーブル単位のデータ消失、トランザクション不整合、業務停止につながります。特にREPAIR_ALLOW_DATA_LOSSの安易な実行は、復元可能だったデータまで削除する危険があります。

ストレージ機器に物理障害が発生している状態で、むやみに通電や再起動、フリーソフトの使用、分解などを行うと、状況が悪化し、復旧の難易度が大きく上がることがあります。特にHDDやSSDは精密機器であり、ちょっとした刺激や誤操作でも内部パーツが傷ついたり、データが上書きされたりして、最終的に復旧不可能になるリスクもあります。誤った対処で大切なデータを失ってしまう前に、まずは専門業者への相談をおすすめします。

自力で修復する場合のリスク

▶ ほこりや異物が悪影響を与えてしまう

内部パーツに修復できない傷が付いてしまう

▶ 知識不足で誤った復旧作業を行ってしまう

ストレージデバイスの自力での修復は非常に難しく、誤った方法で作業を進めると、データが完全に失われるリスクがあります。安全にデータを復旧させたい場合、データ復旧業者に依頼することが確実です。編集部が厳選したおすすめ業者は下記のボタンからご参照ください。

SQL Serverデータベース破損時の対処法

基本方針は「現状把握 → バックアップ優先 → 復元検討 → 最終手段としてREPAIR」です。いきなり修復を実行しないことが重要です。

1. DBCC CHECKDBで破損状況を正確に把握する

最初に行うべきは、破損範囲とエラー種別の確認です。割り当てエラーか整合性エラーか、ページ破損かで対処方針が変わります。

DBCC CHECKDB実行手順

  1. 対象データベース名を確認します。
  2. SQL Server Management Studioで新しいクエリを開きます。
  3. DBCC CHECKDB('データベース名') WITH NO_INFOMSGS, ALL_ERRORMSGS; を実行します。
  4. 出力されたエラーメッセージを保存し、エラー種別と対象オブジェクトを記録します。
  5. エラーが大量にある場合は、ログファイルとして保存し分析します。

2. バックアップからの復元を最優先で検討する

破損前の正常なバックアップが存在する場合、それを使用した復元が最も安全です。MicrosoftもREPAIRより復元を推奨しています。

バックアップ復元手順

  1. 最新の完全バックアップを特定します。
  2. 差分バックアップおよびトランザクションログバックアップの有無を確認します。
  3. テスト環境または別名データベースへ復元を実施します。
  4. 復元後に DBCC CHECKDB を再実行し、整合性を確認します。
  5. 問題がなければ本番切替計画を策定し、業務再開手順を実施します。

3. バックアップが使えない場合のREPAIR実行(最終手段)

バックアップが存在しない、または全て破損している場合に限り、REPAIRを検討します。REPAIR_ALLOW_DATA_LOSSはデータ削除を伴う可能性があります。

REPAIR実行手順

  1. 現状の破損データベースをフルバックアップします。
  2. データベースをシングルユーザーモードに変更します。
  3. DBCC CHECKDB('データベース名', REPAIR_REBUILD); を試します。
  4. 改善しない場合のみ REPAIR_ALLOW_DATA_LOSS を検討します。
  5. 実行後に再度CHECKDBを行い、業務影響範囲を確認します。

4. インフラ・ハードウェアの原因を除去する

データベース修復だけでは再発を防げません。根本原因の除去が不可欠です。

インフラ確認手順

  1. WindowsイベントログおよびSQLエラーログを確認します。
  2. ストレージログやRAIDコントローラログを確認します。
  3. メモリ診断ツールを実行します。
  4. 必要に応じてchkdskをSQL停止後に実施します。
  5. ドライバ・ファームウェア更新可否を確認します。

5. 専門業者に相談・依頼する

ここまでの対処法を試しても改善できなかった場合、機器に重大なエラーや物理的な故障が生じている可能性が高いです。この場合、続けて使用すると損傷がひどくなり、復旧できなくなる可能性があります。さらに、自力で分解したり復旧作業を行うのも状態が悪化するケースが多いです。少しでもデータを失いたくない方は速やかに専門業者に相談することをおすすめします。

専門業者へ相談する手順

  1. CHECKDB結果、SQLエラーログ、イベントログを保存します。
  2. バックアップの有無と世代構成を整理します。
  3. ストレージ構成(RAID種別、SAN/NAS構成)をまとめます。
  4. これまで実施した操作内容を時系列で整理します。
  5. SQL Serverおよびストレージ復旧実績のある専門業者へ相談します。

おすすめのデータ復旧専門業者

データ復旧の専門業者を選ぶときには以下の項目が特に重要です。

データ復旧業者を選ぶうえで押さえておきたいポイント

復旧の経験が豊富
さまざまなメーカーや機種に対応できるかをチェックしましょう。

無料で初期診断を提供
費用がかかる前に復旧の可能性や状態を確認でき、リスクを減らせます。

最先端の復旧技術と設備を備えている
特に物理障害の場合、クリーンルームでの対応が可能かを確認することが重要です。

すべてに対応しているサイバーセキュリティ総研おすすめのデータ復旧業者はデジタルデータリカバリーです。

デジタルデータリカバリー

デジタルデータリカバリーは、14年連続国内売上No.1最大手のデータ復旧専門業者です。

復旧率は91.5%とかなり高い技術力を有しており、RAID復旧のノウハウを持ったエンジニアが複数名チームとなって対応することで、早期に破損個所のすべての特定ができ、修復を行うことができます。

また2021年には、HDDの最難関障害である「スクラッチ障害」の復旧技術や、SSDやSDカードのような「メモリ媒体」の復旧技術が評価され、東京都の経営革新優秀賞を受賞しました。その復旧技術・設備が詰まっている復旧ラボは見学が可能です。

また、累積の相談件数は46万件を超え、官公庁や大手企業との取引実績も豊富です。さらに、依頼されたものの8割を48時間以内に復旧するスピードも優秀です。

24時間365日の受付対応に加え、機器は全国5拠点への持ち込み・配送・出張と臨機応変に対応してくれます。相談から見積もりが無料で行えるため、データ復旧専門業者の選定に困っていたら、まずは最大手であるデジタルデータリカバリーへ相談することをおすすめします。

持ち込み拠点東京/六本木(本社)、神奈川、愛知、大阪、福岡取り引き実績官公庁や大手企業を含めた累積46万件の相談実績
報酬体系原則成功報酬制無料サービス相談・初期診断・見積もりまで無料(デジタルデータリカバリーへの配送も無料)
復旧期間・最短当日に復旧完了
・約80%が48時間以内に復旧完了
出張対応あり(法人のみ)
セキュリティISO27001/Pマーク/外部委託警備員のチェック/NDA締結対応メディア RAID機器(NAS/サーバー)、パソコン(ノート/デスクトップ)、外付けHDD、SSD、USBメモリ、ビデオカメラ、SDカード・レコーダー等記憶媒体全般
復旧料金◇相談から見積もりまで無料
500GB未満:5,000円〜
500GB以上:10,000円〜
1TB以上:20,000円〜
2TB以上:30,000円〜
特長・データ復旧専門業者において14年連続データ復旧国内売り上げNo.1
・復旧率最高値91.5%の非常に高い技術力
・官公庁や大手企業を含む累積46万件以上の相談実績

デジタルデータリカバリーのさらに詳しい情報は公式サイトへ

破損予防のための設計・運用対策

破損は完全にゼロにはできませんが、発生確率と影響範囲を小さくすることは可能です。

完全復旧モデルの適切な設計、定期的なDBCC CHECKDB実行、PAGE_VERIFY CHECKSUMの有効化、ハードウェア監視の徹底が重要です。特にバックアップ戦略はRPOとRTOを明確にし、定期的に復元テストを実施することが不可欠です。

データベース破損は時間との勝負です。状況が不明なまま修復を実行せず、まずは状態を正確に把握し、安全な復元経路を選択してください。

最新情報をチェックしよう!