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

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

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

 メモ   発行された Web データベースを最適化および修復する場合、最適化および修復が完了した後でデータベースを同期させる必要があります。最適化と修復を行っても、発行されたデータベースで発生する可能性があるすべての問題を修正できるとは限りません。

この記事の内容


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

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

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

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

  • Access では、さまざまなタスクを実行する目的で、一時的な隠しオブジェクトが作成されます。この一時オブジェクトが不要になった後でもデータベース内に残ることがあります。
  • データベース オブジェクトを削除しても、そのオブジェクトが使用していたディスク領域は自動では解放されません。オブジェクトを削除しても、データベース ファイルはそのディスク領域を引き続き使用します。

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

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

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

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

多くの場合、この種類の破損は Visual Basic for Applications (VBA) (Visual Basic for Applications (VBA): Microsoft Windows ベースのアプリケーションの作成に使用される Visual Basic のマクロ言語バージョン。いくつかの Microsoft プログラムで使用できます。) モジュール (モジュール: 宣言、ステートメント、およびプロシージャで構成される 1 つの単位。モジュールには、標準モジュールとクラス モジュールの 2 種類があります。)の問題によるもので、データが失われるリスクはありません。しかし、VBA コードが失われたり、フォームが使用できなくなるなど、データベース デザインが損なわれるリスクはあります。

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

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

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

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

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

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

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

ページの先頭へ ページの先頭へ

始める前に

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

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

  • データベースへの排他的アクセスを使用して [データベースの最適化/修復] コマンドを使用する    データベースを使用しているユーザーが単一の場合は、該当セクションの残りの手順をスキップして、そのまま「データベースを最適化および修復する」の手順に移ることができます。

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

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

ページの先頭へ ページの先頭へ

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



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

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

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

  1. Office ボタンをクリックします。OutSpace が表示されます。
  2. OutSpace の左側のウィンドウで、[オプション] をクリックします。
  3. [Access のオプション] ダイアログ ボックスで [カレント データベース] をクリックします。
  4. [アプリケーション オプション] の [閉じるときに最適化する] チェック ボックスをオンにします。

ページの先頭へ ページの先頭へ

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

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

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

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

  • Office ボタンをクリックします。OutSpace が表示されます。
  • [情報] をポイントし、[データベースの最適化/修復] をクリックします。

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

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

  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"」と入力します。

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

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

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

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

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

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

ページの先頭へ ページの先頭へ

 
 
適用対象:
Access 2010