複数コアの CPU 環境で実行中の Access が応答なしになる

現象
Access を実行中に、大量のデータを連続して処理するような処理を行った場合、Access の応答が無くなったり、異常終了してしまう場合があります。この現象は複数コアの CPU を搭載したコンピューター上での発生が確認されています。
原因
Access が使用するデータベース エンジン内の処理にて、レコード セットに対する処理を行うスレッドとメモリ管理を行うスレッド間の同期処理が、複数コア環境でのデータ処理量やタイミングに依存して正常に動作しなかった場合、データベース エンジン内部の情報に不整合が生じてしまうことがあります。その結果、応答なしや異常終了のような現象が発生します。
解決方法
回避策
Access のプロセスを以下の方法で単一 CPU 上で動作させます。

タスク マネージャーを使用する方法
  1. Access を実行します。
  2. タスク マネージャー のプロセス タブで MSACCESS.EXE のプロセスを右クリックします。
  3. [関係の設定] メニューを選択します。
  4. [プロセッサの関係] ダイアログ ボックスで、任意の一つの CPU のみチェックをオンにし、その他の CPU のチェックをオフにします。
  5. OK でダイアログを閉じます。

start /affinity コマンドを使用する方法
Windows Server 2003、Windows Server 2008、Windows Vista、Windows 7 の場合、以下のコマンドを使用して制御することができます。

  1. コマンド プロンプトを起動します。
  2. 以下のコマンドを使用して Access を起動します。以下は CPU0 上でのみ Access を実行する例です。

    start “Access” /affinity 1 <MSACCESS.EXE のフルパス>
MSACCESS.EXE のフルパスは、Office のバージョンや、実行している OS の種類、インストール時のカスタマイズによって異なります。
Office 2007 x86 版を、標準インストールで Windows 7 x86 版にインストールした場合、以下のパスを指定します。

“C:\Program Files\Microsoft Office\Office12\MSACCESS.EXE”
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細
start コマンドの詳細については start /help コマンドで表示されるヘルプを参照してください。
関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2646068 - 最終更新日: 09/29/2016 08:53:00 - リビジョン: 3.0

Microsoft Access 2010, Microsoft Office Access 2007

  • kbbug KB2646068
フィードバック