文書番号: 209137 - 最終更新日: 2004年11月17日 - リビジョン: 4.0 破損した Jet 4.0 データベースの Access 2000 でのトラブルシューティングと修復の方法
この記事は、以前は次の ID で公開されていました: JP209137
難易度 : 低。シングル ユーザー コンピュータのユーザー インターフェイスに関する知識が必要です。
この資料は Microsoft Access データベース (.mdb) についてのみ記述したものです。
Microsoft Access 2002 または Access 2003 については、次の資料を参照してください。
283849?
(http://support.microsoft.com/kb/283849/
)
目次概要
環境的な要因により、データベース ファイルが破損した状態になることがあります。データベース破損の現象には、特定のレコードに "#Deleted" と表示されるものから、データベースのオブジェクトを開くことができない、Access でまったくファイルを開くことができないというものまであります。Microsoft Access の最適化ユーティリティと修復ユーティリティは、Microsoft Access 2000 データベース ファイルの回復と最適化に使用できる便利なツールです。この資料では、この Access 2000 ユーティリティについて説明した後、破損したデータベースを修復するその他の方法を示します。また、破損の原因に関する情報も提供します。
詳細
この資料で説明する手順を使用することで、通常、破損したデータベース ファイルを修復できますが、データを確実に保護するために、データベース ファイルのバックアップ コピーをできるだけ頻繁に作成してください。
最適化ユーティリティと修復ユーティリティ最適化ユーティリティは、既存のデータベースにある空の領域を取り除きます。この作業は、新たなデータベースを作成し、古いデータベース内の各オブジェクトを新しいデータベースにコピーすることによって行われます。最適化後のデータベースを新しいデータベースではなく元のデータベース名で保存するように指定すると、一時的なデータベースが作成され、すべてのオブジェクトが元のデータベースから一時データベースにエクスポートされます。その後、元のデータベースが削除され、一時データベースの名前が元のデータベースの名前に変更されます。修復ユーティリティは、データベース内のテーブル、クエリ、インデックスのみの修復を試みます。破損したフォーム、レポート、マクロ、モジュールは修復しません。 最適化ユーティリティで実行される動作の一覧を次に示します。
最適化ユーティリティと修復ユーティリティの実行に関する重要なガイドライン最適化ユーティリティと修復ユーティリティをデータベースに対して実行するには、次の条件が満たされている必要があります。
破損したデータベースの回復以下は、破損したデータベースを修復する際に使用できる一般的な手順をまとめたものです。
最終的な手段として、Microsoft Access データベースの修復サービスを提供するコンサルタントに相談する方法もあります。これは特化されたサービスのため、コンサルタントを見つけるには、Microsoft Access の "Third Party and User Groups" インターネット ニュースグループに投稿するのが最も効果的です。このニュースグループのアドレスは、次のとおりです。
microsoft.public.access.3rdpartyusrgrp
Microsoft Access インターネット ニュースグループの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
150057?
(http://support.microsoft.com/kb/150057/
)
[ACC] インターネットで利用可能な Microsoft Access ニュースグループ
.mdb ファイルの破損の一般的な原因Access または Jet の .mdb ファイルの破損には、4 つの主要な原因があります。書き込み操作の割り込みにより、破損またはその疑いがあるとしてデータベースがマークされている[ファイル] メニューの [終了] または [閉じる] をクリックして Access を正しく終了することを強く推奨します。データベースが開かれ、データの書き込み中に Access が異常終了すると、Jet データベース エンジンによって、そのデータベースは破損の疑いがある、または破損しているとマークされることがあります。Windows を終了せずにコンピュータの電源をオフにした場合や停電が発生した場合にも、この現象が発生することがあります。これ以外の状況でも、Access の実行が継続され、データベースを開いている間に、Jet によるディスクへのデータの書き込みが妨害されることがあります。たとえば、ネットワークでデータの衝突が発生した場合やディスク ドライブが正常に機能していない場合に、こうした状況が発生します。このような処理の中断が発生すると、Jet によってそのデータベースは破損の可能性があるとマークされます。Jet によって書き込み操作が開始されるとフラグが設定され、書き込み操作が完了するとそのフラグがリセットされます。書き込み操作が中断されると、このフラグが設定されたままとなります。データベースを再度開くとき、Jet によってフラグが設定されていると判断され、データベースが破損していると報告されます。ほとんどの場合、実際にはデータベースのデータは破損していませんが、このフラグが設定されていると Jet では破損の可能性があるものとして扱われます。このような場合、データベースの最適化や修復 (またはその両方) を実行することで、通常はデータベースを復元することができます。ファイルに破損の疑いがあるとマークされる原因となったユーザーやワークステーションを特定する方法があります。Jet でファイルが疑わしいとマークされる原因となったユーザー、ワークステーション、またはその両方を特定するには、この資料の「ファイルが疑わしいとマークされる原因になっているユーザーやワークステーションを判別する方法」を参照してください。 ネットワーク ハードウェアの障害この場合、ファイルの破損と Jet データベース エンジンとは無関係です。外部の何らかの原因によって、ファイルが文字どおり破損しています。データベースが配置されているコンピュータとデータベースを開いているコンピュータ間に存在する一連のハードウェア上にある 1 つ以上のリンクが原因となる場合があります。これにはネットワーク インターフェイス カード、ネットワーク ケーブル、ルーター、およびハブが含まれますが、それ以外のデバイスが原因になることもあります。最適化、修復、または Jetcomp を使用しても .mdb ファイルを復元できない場合、通常、破損の原因はハードウェアにあります。ハードウェアによる破損は、通常、原因となっているハードウェアを修理するか交換するまで発生します。 他のプログラムによって .mdb ファイルが開かれて保存された他のプログラムで開いて保存された .mdb ファイルを回復する方法はありません。たとえば、.mdb ファイルを Microsoft Word で開いて保存することができます (.mdb ファイルを他のアプリケーションで開いても拡張文字が表示されるだけで意味がありません)。この方法でファイルを保存した場合、Access でその .mdb ファイルを開くときに、データベース パスワードを要求するプロンプトが表示されます。この現象は、Access でデータベース パスワードを設定していないファイルでも発生します。こうした状況でパスワードのプロンプトが表示されるのは、Access でファイルを開く際に確認される最初のバイト範囲がデータベース パスワードの格納場所であるためです。そのバイト範囲に破損したデータが含まれているファイルは、パスワードで保護されているものとして扱われます。この場合、パスワード プロンプトを回避できたとしても、バイナリ構造にスクランブルがかかっていて (暗号化されていて) Access で読み取ることができないため、やはりデータベースを回復することはできません。この場合の唯一の解決方法として、ファイルのバックアップ コピーを回復する必要があります。 この問題の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。243895?
(http://support.microsoft.com/kb/243895/
)
[ACC2000] 設定していないデータベース パスワードを要求される
Jet データベース エンジンのバージョンの不一致環境で複数のバージョンの Jet データベース エンジンを実行している場合にも、Access データベースが破損することがあります。Jet のバージョンによって書き込みの方法が異なるため、そのことがデータベース破損の原因になる可能性があります。ファイルが疑わしいとマークされる原因になっているユーザーやワークステーションを判別する方法トラブルシューティングでデータベース破損の原因を特定するとき、状況によっては、データベースにログインしているユーザーの確認が必要になることがあります。Access 2000 の Microsoft Visual Basic for Applications では、特定のデータベースにログインしているユーザーの一覧を出力することができます。この方法およびサンプル コードの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。 198755?
(http://support.microsoft.com/kb/198755/
)
[HOWTO] Access 2000 でデータベースにログインしているユーザーをチェックする方法 破損を防ぐために使用できる方法
関連情報
データベースの修復の詳細については、[ヘルプ] メニューの [Microsoft Access ヘルプ] をクリックし、Office アシスタントまたはアンサー ウィザードに「修復」と入力し、[検索] をクリックして、表示されるトピックを参照してください。
破損したデータベースの修復に利用できるダウンロード可能なユーティリティの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。 273956?
(http://support.microsoft.com/kb/273956/
)
[ACC2000] ダウンロード センターで入手可能な Jet 最適化ユーティリティ
以前のバージョンの Access でのデータベースのトラブルシューティングについての関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
279334?
(http://support.microsoft.com/kb/279334/
)
[ACC97] 破損した Jet 3.5 データベースの修復方法
109953?
(http://support.microsoft.com/kb/109953/
)
[AC97] 破壊したデータベースの修復方法 関連情報
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。" | サポート情報 その他のサポートサイトコミュニティ技術サポート窓口サポート技術情報の翻訳
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
先頭へ戻る
