文書番号: 109953 - 最終更新日: 2003年7月22日 - リビジョン: 3.0

[AC97] 破壊したデータベースの修復方法

お知らせお使いのオペレーティング システムには適用しない情報が含まれている場合があります。
この記事は、以前は次の ID で公開されていました: JP109953

目次

すべて展開する | すべて折りたたむ

概要

この資料は、ユーティリティの使用方法、および破壊したデータベース ファイルを復旧するための方法について説明しています。

現象

停電や電力不安定などの環境的要素、Access データベースの不適切な方法での終了、ディスクやネットワークの障害などによりデータベース ファイルが破損した状態になる場合があります。また、Access データベースの使用中に生じた空き領域が蓄積され、それが原因で破損につながる場合もあります。Access の修復ユーティリティと最適化ユーティリティは、このようなデータベースの最適化、修復を試みるツールです。以下に、これらのユーティリティの使用方法、および破壊したデータベース ファイルを復旧するためのその他の方法について説明いたします。

詳細

この資料で解説されている手順により、破壊したデータベース ファイルへの修復は通常正常に行われますが、データベースの破壊の度合いによっては修復不可能な場合があります。データを保護するために、できるだけ頻繁にデータベース ファイルのバックアップを作成してください。なお、MDB ファイルのバックアップとはファイル バックアップになります。

修復ユーティリティ

修復ユーティリティを使用すると、一定の種類の破損があるデータベースを修正することができます。修復ユーティリティは、データベース内の、テーブル、クエリー、インデックスのみの修復を試みようとします。破損したフォーム、レポート、マクロ、モジュールなどは修復しませんが、新規に作成された修復済みのデータベースにそれらをコピーする作業は行います。

注意 : 修復ユーティリティは、修復を実行するべきであるというエラー メッセージを Microsoft Jet データベース エンジンが返してきた場合のみに実行してください。修復ユーティリティは、その他の状況では実行しないでください。

最適化ユーティリティ

最適化ユーティリティは、既存のデータベースにある空の領域を取り除きます。この作業は、新たなデータベースを作成し、古いデータベース内の各オブジェクトを新しいデータベースにコピーすることによって行われます。データベースを新しいデータベースではなく元のデータベース名に最適化することを選択した場合、最適化ユーティリティは一時的なデータベースを作成し、すべてのオブジェクトを元のデータベースから一時データベースにエクスポートし、元のデータベースを削除して、一時データベースの名前を元のデータベースの名前に変更します。

解決方法

  1. 破壊しているデータベース ファイル (mdb ファイル) のバック アップを行います。
  2. ldb ファイルが存在する場合は、それを削除します。このファイルは、対応する mdb ファイルを閉じてから削除してください。
    ldb ファイルは共有データベースでどのレコードがだれによってロックされているかを特定するために使用されます。データベースが共有で使用される場合、ldb ファイルが対応するデータベース (mdb ファイル) と同じ名前で作成されます。たとえば、C:\Msoffice\Access フォルダで Northwind.mdb サンプル データベースを使用される場合 Northwind.ldb というファイルが同じフォルダに自動的に作成されます。Microsoft Access 95 および 97 では、最後のユーザーが作業を終了後に ldb ファイルは自動的に削除されます。ただし、例外が 2 つあります。最後のユーザーが、mdb ファイルを含むフォルダに対して削除権限を持っていない場合と、データベースが破損している場合です。
  3. 最適化ユーティリティを実行します。
    1. データベースが開いている場合は、閉じます。
    2. [ツール] メニューから [データベース ユーティリティ] をポイントし、[最適化] をクリックします。

      Access 2.0 以前の場合は、[ファイル] メニューから [最適化] をクリックします。
    この時点で、データベースの破損が修復されているかどうか確認します。修復されていない場合は、残りの手順を引き続き実行してください。
  4. 破損がテーブル、クエリー、インデックスのいずれかにある場合は、修復ユーティリティを実行します。
    1. データベースが開いている場合は、閉じます。
    2. [ツール] メニューで [データベース ユーティリティ] をポイントし、[修復] をクリックします。Access 2.0 以前の場合は、[ファイル] メニューで [修復] をクリックします。
    3. [データベースの修復] ダイアログ ボックスで破壊しているファイルを選択し、[修復] をクリックします。Access 2.0 以前の場合は、[ファイル名] ボックスに破壊しているファイルの名前を入力し、[OK] をクリックします。修復が成功した場合、以下のメッセージが表示されます。

      Access 95、Access 97 の場合 :
      データベース '<パス><データベース名>' の修復が終了しました。
      Access 2.0 以前の場合 :
      データベース '<パス><データベース名>' は修復されました。
    修復が成功しなかった場合は、それを示すメッセージが表示されます。これは、テーブル、クエリー、インデックスの損傷が修正不可能なほどに深刻であるか、または破損が、修復ユーティリティが対応できないオブジェクトであることを意味します。
  5. 破損がテーブルにあり、ここまでの手順で回復できなかった場合は、以下をお試しください。
    1. Access 内から、問題のテーブルを区切り記号付きテキスト ファイルにエクスポートします。このトピックの詳細については、Access のヘルプを使用して、「区切り記号付きテキスト ファイル」というフレーズで検索し、「Access データのエクスポート」のトピックを表示してください。
    2. このテーブルに関するリレーションシップをすべて削除して、テーブルをデータベースから削除します。
    3. データベースの最適化を実行します。
    4. テーブルと、以前あったリレーションシップを再作成します。
    5. メモ帳を使用して、テキスト ファイルで不良または不審なデータがないか調べ、該当するレコードを削除します。ファイルをテキスト ファイル形式で上書き保存します。
    6. テキスト ファイルを、新規に再作成したテーブルに再度インポートします。
    7. 強制的に削除されたレコードを再作成します。
    * 「区切り記号付きテキスト ファイル」の詳細については、Access のオンライン ヘルプを使用し、「区切り記号付きテキスト ファイル」キーワードで検索し、「Access データのエクスポート」、「インポートまたはリンク」のトピックを参照してください。
  6. ここまでの手順で、破壊したデータベースが回復できない場合は、新規のデータベースを作成して、古いデータベースから新しいデータベースへ、オブジェクトを 1 つずつすべてインポートしてみてください。次にリレーションシップを再作成します。この方法により、データベース内の破損したシステム テーブルの問題が解決されます。
  7. 破損がフォームまたはレポートにある場合、破損個所はフォームまたはレポート自体かあるいはフォームまたはレポート上のコントロールにあります。該当するフォームまたはレポートを削除してデータベースのバックアップ コピーからインポートするか、または以下のいずれかの方法をお試しください。
    • 破損がフォームまたはレポート自体にある場合は、新たなフォームまたはレポートを作成し、元のフォームまたはレポートからコントロールをコピーします。
    • 破損がフォームまたはレポートのコントロールにある場合は、新たなフォームまたはレポートを作成し、新規のフォームまたはレポートの上にコントロールを作成し直します。どのコントロールが破損しているかを見分ける方法はありません。すべてのコントロールを作成し直すことをおすすめいたします。
  8. 破損がマクロまたはモジュールにある場合、破損はマクロまたはモジュール自体か、あるいはマクロまたはモジュールの内容にあります。マクロまたはモジュールを削除してデータベースのバックアップ コピーからインポートするか、または以下のいずれかの方法をお試しください。
    • 破損がマクロまたはモジュール自体にある場合は、新たなマクロまたはモジュールを作成し、元のマクロまたはモジュールの内容をコピーします。
    • 破損には、モジュールに埋め込まれている ASCII 以外の文字が関連している可能性があります。該当するモジュールをテキスト ファイルとして保存し、不良または不審なデータを削除して、テキスト ファイルを新しいモジュールに貼り付けて新規に作成し直してください。
    • 破損がマクロまたはモジュールの内容にある場合は、新たなマクロまたはモジュールを作成し、元のマクロまたはモジュールの内容を作成し直してください。

    注意 : Access 95 または Access 97 を使用している場合は、Jetcomp ユーティリティをダウンロードして使用することを検討してください。Jetcomp ユーティリティを使用することにより、他の方法では回復不可能なデータベースを修復できる場合があります。このユーティリティは Microsoft Jet 3.5 アップデートの一部として含まれています。


Microsoft Jet 3.51 の入手方法については、以下のサポート技術情報をご覧ください。
文書番号 : 172733? (http://support.microsoft.com/kb/172733/JA/ )
タイトル : [AC97] アップデート バージョンの Microsoft Jet 3.5
これまでの手順でデータベースが修復できない場合は、データベースが修復できないほど破壊していると考えられます。その場合は、最後のファイルバックアップから復元するかまたはデータベースを作成し直してください。

関連情報

データベースの修復に関する詳細は、Access オンライン ヘルプより、キーワードの検索で「修復」と入力して [検索] をクリックし、「破損したデータベースを修復する」を参照してください。
ldb ファイルの詳細については、米国 Microsoft Corporation から提供されている以下の Knowledge Base をご覧ください。
文書番号 : 136128? (http://support.microsoft.com/kb/136128/EN-US/ ) タイトル : ACC: Introduction to .ldb Files (95/97)
文書番号 : 109957? (http://support.microsoft.com/kb/109957/EN-US/ ) タイトル : ACC: Introduction to .ldb Files (1.x, 2.0)
データベースの修復に関する詳細は、オフィス アシスタントまたはキーワードの検索で「修復」と入力して [検索] をクリックし、「破損したデータベースを修復する」を表示してください。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 109953? (http://support.microsoft.com/kb/109953/EN-US/ ) (最終更新日 2000-10-11) をもとに作成したものです。


この資料は以下の製品について記述したものです。
  • Microsoft Access 1.1 Standard Edition
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 95 Standard Edition
キーワード:?
compact compactdatabase corrupt corruption kbinfo repair repairdatabase 修復 破壊 破損 KB109953
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
Retired KB Articleサポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。