最適化と修復を使用してデータベース ファイルの問題を予防および修復する

注:  最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。 このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。私たちの目的は、このコンテンツがお客様の役に立つようにすることです。お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。 簡単に参照できるように、こちらに 英語の記事 があります。

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

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

この記事の内容

Why you compact and repair a database

Before you begin

Compact and repair a database

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

ここでは、[データベースの最適化/修復] コマンドを使用して、データベースに関連する 2 つの問題を予防および修復する方法について説明します。1 つは、ファイルのサイズが大きくなる問題、もう 1 つは、ファイルが破損する問題です。

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

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

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

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

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

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

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

特定の状況で、データベース ファイルが破損することがあります。データベース ファイルをネットワーク上で共有し、複数のユーザーが並行して直接操作する場合、そのファイルには破損のリスクが若干あります。ユーザーがメモ型フィールドのデータを頻繁に編集する場合、破損のリスクはやや大きくなり、リスクは時間と共に大きくなっていきます。このリスクは、[データベースの最適化/修復] コマンドを使用することで抑えることができます。

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

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

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

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

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

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

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

注: データベース オプションの設定により、特定のデータベースを閉じるたびに最適化と修復の機能を自動で実行することができます。単一のユーザーが使用するデータベースの場合は、このオプションを設定します。マルチユーザー データベースの場合は、このオプションは設定しない方がよいことがあります。データベースが一時的に使用できなくなる場合があるためです。

Top of Page

始める前に

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

  • 必ずバックアップを作成する    修復処理中に、破損したテーブルから一部のデータが切り捨てられる場合があります。このデータは、バックアップから復元できることがあります。日常的なバックアップ処理に加えて [データベースの最適化/修復] コマンドを使用する前には、バックアップを作成してください。バックアップは、[データベースのバックアップ] コマンドで作成できます。

    • Microsoft Office ボタン Office ボタンの画像 をクリックし、[管理] をポイントします。次に、[このデータベースの管理] の [データベースのバックアップ] をクリックします。

  • Automatically compact and repair    Unless you are sharing a single database file with other users on a network, you should set your database to automatically compact and repair.

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

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

  • Obtain exclusive access to your database to use the Compact and Repair command    If you are the only person who uses your database, you can skip the rest of this section and go directly to Compact and repair a database.

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

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

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

Top of Page

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

Automatically compact and repair a database when it closes

Manually compact and repair a database

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

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

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

  1. Microsoft Office ボタン Office ボタンの画像 をクリックし、[Access のオプション] をクリックします。

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

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

Top of Page

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

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

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

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

  • Click the Microsoft Office Button Office ボタンの画像 , point to Manage, and then, under Manage this database, click Compact and Repair Database.

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

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

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

  2. Click the Microsoft Office Button Office ボタンの画像 , point to Manage, and then, under Manage this database, click Compact and Repair Database.

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

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

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

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

C:\Program Files\Microsoft Office\Office12

この場所に Msaccess.exe ファイルが見つからない場合は、ファイルを検索して完全なパスを控えておきます。

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

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

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

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

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

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

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

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

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

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

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

Top of Page

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

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

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

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×