- 締切済み
ACCESSの最適化でエラー発生
教えてください。 ACCESSのDBを最適化したら、DB内のテーブルにMSysCompactErrorというテーブルができ、中身をみると以下のようなメッセージが入っていました。ここ1~2年問題なく、週に1回バックアップを取るときに最適化してきましたが、こんなエラーは初めてです。最適化する前のDBのアクセスは問題なく動いてますが(全てのデータを使ってるわけではないですが)原因がわからず困っています。 DBのファイルサイズは最適化前449.5MB→後351.1MB(先週は418.664MBでした。)でレコード数は4,227,841件テーブル数3個です。 最適化で直接エラーメッセージが表示されたわけでなく、終わってファイルサイズがいつもより小さいので気がつきました。 ErrorCode ErrorDescription ErrorRecid ErrorTable -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1611 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1611 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1611 フィールド 'Description' が見つかりませんでした。 xxTBL -1003 フィールド 'Description' が見つかりませんでした。 xxTBL -1605 フィールド 'Description' が見つかりませんでした。 xxTBL
- みんなの回答 (1)
- 専門家の回答
みんなの回答
ファイルが壊れたのかもしれませんね。 まずはテーブル、フォーム、クエリ、マクロ、モジュールなどを新規MDBに移してみたらどうでしょうか。
お礼
ありがとうございます。ご返事遅れてすみません。 初めは、DB本体は問題なく更新でき、検索表示もできていたので、ACCESSの最適化が問題かと思って質問しました。 ご回答の ファイルが壊れたのかもしれませんね とのご指摘で、過去の状況をまずチェックしました。 1/16のバックアップは問題なし。1/19のデータ更新を再実行した後のDBはやはり発生。その後のデータ更新も同じでした。 別の検索をしてみると、偶然あるキーでエラーが発生(フィールドサイズを超えている)したので、DBを直接みると確かに、 キーのエリアに不正な文字が入っていました。ファイルが壊れているようです。 ACCESSのクエリーでキーの条件を指定しても不正なレコードを含んで表示されます。 (どうも、インデックスは正しいがデータエリアが壊れているのでは?) バックアップ機が有るので、そちらで1/19のデータ更新を再実行してACCESSの最適化をするとこれはうまくゆきました。 問題のパソコンは、今月自作したもので、M/BがABITのAN7、CPUはAMD3200+、メモリー512MB×2、 そしてDISKが日立のS-ATA160GB×2でオンボードのRAID0です。 正確な記憶がないのですが、ちょうど、17、18日の土日にセットアップして、このマシンを切換えたのが19日だったようです。 ひょっとして、RAIDが問題有るのかと推定して、このパソコンのIDEに接続している単体のDISKにドライブ内容を移し、 再度実行してみると、うまくゆきました。(最適化でエラーも出ませんし、壊れていたデータも正しく入っています。) 同様に処理するDBが他にもあるので、調べたところファイルサイズの大きいものにエラーが発生しており、 同様に再実行して復旧できました。(他のファイルサイズの小さいものはエラーは有りませんでした。) 障害の発生箇所はほぼRAID0に関連する部分と判明しましたが、私の設定が悪いのか、機器が悪いのか特定できません。 とりあえず、原因の特定と代替え策での対応ができましたのでご報告致します。 高性能を求めての自作ですが、データの信頼ができないものは使い物になりません。 私の実力ではこれ以上の追求は困難ですが、このマシンが無駄にならないようもう少し解決策を考えてみたいと思います。 どうもありがとうございました。
補足
追伸) もう一枚RAID付きM/Bがあり、修理から戻ったので実行してみました。(こちらのチップはPromise) こちらは問題が発生しなかったので、現在こちらを使用しています。 問題のM/Bは、今お休みしています。 ありがとうございました。