データベースを最適化および修復する

データベース ファイルは、短時間でサイズが大きくなり、パフォーマンスに影響が生じることがあります。破損や損傷が生じることもあります。Microsoft Office Access の [データベースの最適化/修復] コマンドを使用すると、このような問題を予防または修復できます。

この記事では、データベースのバックアップや復元を行う方法は説明しません。詳細については、[参照] セクションのリンクを参照してください。

注: 発行された Web データベースを最適化および修復するときは、最適化および修復が完了した後にデータベースを同期する必要があります。最適化および修復では、発行された Web データベースで発生する可能性があるすべての問題を解決できないことがあります。

この記事の内容

データベースの最適化と修復の目的

始める前に

データベースを最適化および修復する

データベースの最適化と修復の目的

この概要では、[データベースの​​最適化/修復] コマンドを使用して、使用に伴ってファイルのサイズが大きくなり、ファイルが破損するなど、データベースに影響が及ぶような問題を防ぎ、修正する方法について説明します。

データベース ファイルは使用に伴ってサイズが大きくなる

データの追加や更新、デザインの変更に伴って、データベース ファイルのサイズは大きくなっていきます。新しいデータの追加だけでなく、次のような原因もあります。

  • Access では、さまざまなタスクを実行する目的で、一時的な隠しオブジェクトが作成されます。この一時オブジェクトが不要になった後でもデータベース内に残ることがあります。

  • データベース オブジェクトを削除しても、そのオブジェクトが使用していたディスク領域は自動では解放されません。オブジェクトを削除しても、データベース ファイルはそのディスク領域を引き続き使用します。

データベース ファイル内に一時オブジェクトや削除済みオブジェクトの残骸が増えてくると、パフォーマンスが低下することがあります。オブジェクトを開いたりクエリを実行したりする時間が通常より長くなるなど、一般的な操作が全般に遅くなったように感じられます。

注: 最適化ではデータは圧縮されず、不要な領域が削除され、データベース ファイルのサイズが小さくなります。

データベース ファイルは破損することがある

状況によっては、データベース ファイルが破損することがあります。データベース ファイルをネットワーク経由で共有し、複数のユーザーが同時にファイルを直接編集する場合、まれではありますが、そのファイルは破損するリスクがあります。破損のリスクは、ユーザーがメモ型フィールドのデータを頻繁に編集する場合に大きくなり、時間経過と共にリスクは大きくなります。このリスクを軽減するには、[データベースの最適化/修復] コマンドを使用します。

多くの場合、このような破損の原因は、Visual Basic for Applications (VBA) モジュール の問題にあり、データが損失するリスクはありません。ただし、このような破損は、VBA コードの損失やフォームが使用できなくなるなど、データベース設計が破損するリスクにつながる可能性があります。

まれに、データベース ファイルの破損によってデータが失われる場合もあります。通常、失われるのは、単一のユーザーが行った最後の操作、つまりデータに対する単一の変更に限られます。ユーザーがデータの変更を開始した後で、たとえばネットワーク サービスの停止によってその変更が中断された場合、Access は、そのデータベース ファイルが破損したものとしてマークします。このファイルは修復可能ですが、修復が完了した後で一部のデータが失われている場合があります。

ヒント: データベースを分割すると、ユーザーが直接アクセスしない別個のファイルにデータが保存されるため、データベース ファイルの破損の予防と、データ損失の範囲を抑えるうえで有効です。

破損したデータベース ファイルの修復を求めて Access から表示されるメッセージ

破損したデータベース ファイルを開こうとすると、Access がファイルを自動的に修復することを確認するメッセージが表示されます。また、[データベースの最適化/修復] コマンドを手動で実行して、破損したデータベース ファイルを修復し、開くこともできます。

破損したファイルの修復が完了すると、修復が成功した旨のメッセージが表示され、データベースの内容をチェックして不備がないことを確認するよう求められます。

修復の一部が失敗した場合、修復できなかったデータベース オブジェクトが Access によって記録されるため、バックアップから手動で復元するオブジェクトを判断できます。

注: 特定のデータベースを閉じるたびに、[データベースの最適化/修復] コマンドを自動的に実行するデータベース オプションを設定することができます。データベースのユーザーが自分のみの場合、このオプションを設定することをお勧めします。複数ユーザーがいるデータベースの場合、データベースが一時的に使用できなくなることがあるので、このオプションを設定しないこともあります。

ページの先頭へ

始める前に

最適化と修復の操作を開始する前に、以下の処理を行うことを考慮します。

  • 常にバックアップを作成する    修復プロセスを実行すると、破損したテーブルから一部のデータが切り捨てられる可能性があります。バックアップからこのデータを修復できる場合もあります。通常のバックアップ戦略に加え、[データベースの最適化/修復] コマンドを使用する前にバックアップを作成することをお勧めします。バックアップを作成するには、[データベースのバックアップ] コマンドを使用します。

    • [ファイル] タブの [保存して​​発行] をクリックし、[詳細設定] の [データベースのバックアップ] をクリックします。

  • 最適化と修復を自動化する    ネットワーク上で複数のユーザーが単一のデータベース ファイルを共有する場合を除き、最適化と修復を自動で行うようにデータベースを設定します

  • システム修復のエラー テーブルに注意する    破損したデータベース ファイルの中に、Access が修復できないオブジェクトがある場合、該当するオブジェクトが MSysCompactErrors というテーブルに記録されます。エラーがあった場合、MSysCompactErrors テーブルがデータシート ビューで開きます。

    データベースが破損する前に作成したデータベース バックアップがある場合、修復後のデータベースにバックアップからインポートする必要があるオブジェクトを、MSysCompactErrors テーブルから判断できます。

  • データベースの排他アクセス権を取得して [データベースの最適化/修復] コマンドを使用する    データベースを使用するのが自分のみの場合、このセクションの残りの部分をスキップし、「データベースを最適化および修復する」に進むことができます。

    最適化と修復の操作を行うときには、他のユーザーの操作に影響を及ぼす可能性があるため、データベース ファイルに対する排他的アクセスが必要です。最適化と修復の操作を実行する予定を他のユーザーに通知し、その間はデータベースの使用を控えてもらうようにします。

    データベースの使用を控えてもらう時間をユーザーに伝えます。最適化と修復の操作を定期的に実行している場合は、処理に要した時間を記録しておきます。そうすることで、必要な時間を的確に予測でき、データベースの使用を控えてもらう時間をユーザーに指示できます。

  • 最適化と修復の操作を実行できる十分なアクセス許可を取得する    以前のバージョンのデータベース ファイルを使用している場合、ワークグループに属していると、データベースの最適化と修復を実行できないことがあります。十分な権限がない場合にデータベースの最適化と修復を行うには、ワークグループ管理者に問い合わせてください。

ページの先頭へ

データベースを最適化および修復する

データベースが閉じるときに自動で最適化および修復する

データベースが閉じるときに自動で最適化および修復する

[閉じるときに最適化する] データベース オプションをオンにすると、データベースが閉じるときに最適化と修復を自動で行うことができます。

注: このオプションの設定は、現在開いているデータベースにのみ適用されます。自動で最適化と修復を行うデータベースごとに、このオプションを設定する必要があります。

  1. [ファイル] タブの [オプション] をクリックします。

  2. [Access のオプション] ダイアログ ボックスで [カレント データベース] をクリックします。

  3. [アプリケーション オプション] の [閉じるときに最適化する] チェック ボックスをオンにします。

ページの先頭へ

データベースを手動で最適化および修復する

[閉じるときに最適化する] データベース オプションの他に、[データベースの最適化/修復] コマンドを手動で実行することもできます。データベースを開いているときにコマンドを実行することも、開いていないデータベースでコマンドを実行することもできます。また、特定のデータベース ファイルに対して [データベースの最適化/修復] コマンドを実行するデスクトップ ショートカットを作成することもできます。

開いているデータベースを最適化および修復する

注: 他のユーザーが同じデータベース ファイルを使用しているときには、最適化と修復の操作は実行できません。

  • [ファイル] タブの [情報] をクリックし、[データベースの最適化/修復] をクリックします。

開いていないデータベースを最適化および修復する

注: 他のユーザーがデータベース ファイルを使用しているときには、最適化と修復の操作は実行できません。最適化と修復の操作を実行している間は、他のユーザーはデータベース ファイルを使用できません。

  1. Access を起動します。データベースは開きません。

  2. [情報] をポイントし、[データベースの最適化/修復] をクリックします。

  3. [最適化元データベース] ダイアログ ボックスで、最適化と修復を行うデータベースを見つけ、ダブルクリックします。

特定のデータベースを最適化および修復するためのデスクトップ ショートカットを作成する

特定のデータベースを最適化および修復するためのショートカットをデスクトップに作成できます。

コンピュータ上の Msaccess.exe ファイルの場所を確認します。Msaccess.exe ファイルは通常は次のフォルダにあります。

C:\Program Files\Microsoft Office\Office14

この場所に Msaccess.exe ファイルが見つからない場合は、ファイルを検索し、完全なパスを書き留めてください。

デスクトップ ショートカットを作成する   

  1. デスクトップを右クリックし、ショートカット メニューの [新規作成] をポイントして、[ショートカット] をクリックします。

  2. ショートカットの作成ウィザードの最初のページで、[項目の場所を入力してください] ボックスに二重引用符 (") を入力し、Msaccess.exe ファイルの完全なパス (ファイル名自体を含む) を入力して、二重引用符を再度入力します (または、[参照] をクリックし、このファイルを見つけて選択します。この場合、引用符は自動的に付加されます)。

    たとえば、「C:\Program Files\Microsoft Office\Office14\msaccess.exe」と入力します。

  3. 終わり二重引用符の後にスペースを入力し、最適化および修復するデータベースの完全なパスを入力します。パスにスペースが含まれる場合は、パスを二重引用符で囲みます。もう 1 つスペースを入力し、「/compact」と入力します。

    たとえば、「"C:\My Folder\My Database.accdb" /compact」と入力します。

  4. [次へ] をクリックします。

  5. [このショートカットの名前を入力してください] ボックスにショートカットの名前を入力し、[完了] をクリックします。

    ショートカットが作成され、デスクトップ上に配置されます。

  6. データベースの最適化と修復を行うには、ショートカットをダブルクリックします。

    ヒント: [スタート] メニューにデスクトップ ショートカットを追加するには、ショートカットを右クリックし、ショートカット メニューの [[スタート] メニューにアイコンを追加] をクリックします。

ページの先頭へ

この情報は役に立ちましたか?

どのようにしたら改善できるでしょうか?

どのようにしたら改善できるでしょうか?

お客様のプライバシーを保護するため、フィードバックには連絡先情報を含めないでください。 レビューしてください プライバシー ポリシー

ご意見をいただきありがとうございます。