Microsoft Jet 4.0 データベース エンジン ドライバの初期化

Microsoft® Jet Version 4.0 データベース エンジン ドライバをインストールすると、セットアップ プログラムは Microsoft Windows® レジストリの Engines サブキーと ISAM Formats サブキーに一連の既定値を書き込みます。これらの設定は、レジストリ エディタを使って追加、削除、または変更を行ってください。Microsoft Jet データベース エンジン ドライバの初期設定と ISAM Format の設定に関する説明を、次に示します。

Microsoft Jet データベース エンジンの初期設定

Jet\4.0\Engines\Engines キーには、Microsoft Access データベースへのアクセスに使われる Msjet40.dll データベース エンジンの初期設定があります。通常、このキーのエントリの初期設定は次のようになっています。

SystemDB=<path>\System.mdb

CompactBYPkey=1

PrevFormatCompactWithUNICODECompression=1

    

Microsoft Jet データベース エンジンは、次のエントリを使用します。

エントリ 説明
SystemDB ワークグループ情報ファイルのフル パスとファイル名を指定します。既定値は、適切なパスの後に System.mdb というファイル名が付けられたパスです。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では文字列型 (String)、Microsoft Windows NT 3.51 では REG_SZ 型です。
CompactByPKey テーブルを最適化する場合のコピーされるテーブルの並び順を指定します。主キーがテーブルに存在する場合は、主キー順で並べ替え、主キーがテーブルに存在しない場合はベース テーブルの並び順を元にします。

値 0 は、テーブルをベース テーブルの並び順に最適化することを示します。0 以外の値は、主キーが存在する場合にテーブルを主キーの並び順に最適化することを示します。既定値は 0 以外です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では DWORD 型、Microsoft Windows NT 3.51 では REG_DWORD 型です。

メモ この設定は、Microsoft Jet データベース エンジン 3.0 以降のバージョンで作成したデータベースの最適化に対してのみ適用されます。Microsoft Jet データベース エンジン Version 2.x で作成したデータベースを最適化する場合は、データは常にベース テーブルの並び順を基にコピーされます。

PrevFormatCompactWithUNICODECompression Microsoft Jet 4.0 データベースは、テキスト データの格納に Unicode 文字セットを使用します。Unicode のデータを圧縮すると、その後必要となるページの読み書き操作を減少する点で、著しくデータベースのパフォーマンスを改善することができます。

このキーは、データベースが Version 3.x またはそれ以前の Microsoft Jet データベース エンジンで Unicode の圧縮が行われているか、あるいは Unicode の圧縮が行われていないかを確定します。

メモ この設定は、Microsoft Jet 4.0 データベースには適用されません。Microsoft Jet 4.0 データベースでは、作成済みの圧縮設定を維持するために、ここでの設定は履行されません。


Jet\4.0\Engines\Jet 4.0 キーには、Microsoft Access データベースへのアクセスに使われる Msjet40.dll データベース エンジンの初期設定があります。通常、このキーのエントリの初期設定は次のようになっています。

FlushTransactionTimeout=500

LockDelay=100

LockRetry=20

MaxBufferSize=0

MaxLocksPerFile=9500

PageTimeout=5000

Threads=3

UserCommitSync=Yes

ImplicitCommitSync=No

ExclusiveAsyncDelay=2000

SharedAsyncDelay=0

RecycleLVs=0

PagesLockedToTableLock=0

    

Microsoft Jet データベース エンジンは、次のエントリを使用します。

エントリ 説明
PageTimeout 読み取りロックされていないデータが内部キャッシュに置かれてから無効になるまでの時間をミリ秒単位で設定します。既定値は 5,000 (5 秒) です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では DWORD 型、Microsoft Windows NT 3.51 では REG_DWORD 型です。
FlushTransactionTimeout このエントリは、ExclusiveAsyncDelay および SharedAsyncDelay の両方のレジストリ エントリを使用不能にします。これらのエントリを使用可能にするには、値 0 をこのエントリに入力します。FlushTransactionTimeout は、Microsoft Jet データベース エンジンによるデータベース ファイルへの非同期書き込みの方法を変更します。以前のバージョンの Microsoft Jet データベース エンジンでは、ExclusiveAsyncDelay または SharedAsyncDelay のどちらかのエントリを使って強制非同期書き込みを行うまでの待機時間を決めていました。しかし、FlushTransactionTimeout の設定では、指定した時間が経過し、キャッシュにページがまったく追加されなかった場合にのみ、非同期書き込みを開始するようになりました。ただし、キャッシュのサイズが MaxBufferSize を超えた場合には、時間の経過にかかわらず、その時点で例外的に非同期書き込みを開始します。したがって、Microsoft Jet データベース エンジン Version 3.5 で、動作していない状態が 500 ミリ秒経過するまで、またはキャッシュ サイズが超過するまで待機し、その後に非同期書き込みを開始します。
LockDelay この設定は LockRetry 設定と連動し、各 LockRetry ごとに 100 ミリ秒待機してから、別のロック要求を発行します。この LockDelay 設定は、ネットワーキング オペレーティング システムで発生することのある "バースト" 現象を防ぐために追加されたものです。
MaxLocksPerFile この設定は、Microsoft Jet データベース エンジンのトランザクション回数が指定値を超えないようにするためのものです。トランザクションのロックがこの値を超えようとした場合、そのトランザクションは 2 つ以上に分割され、一部はコミットされます。この設定は、指定した Netware ロック リミットが超過した場合に Netware 3.1 サーバーがクラッシュしないように、また、Netware と Microsoft Windows NT の両方の性能を向上させるために、追加されたものです。
LockRetry ロック競合メッセージを返す前に、ロックされたページへのアクセスの試行を繰り返す回数です。既定値は 20 です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では DWORD 型、Microsoft Windows NT 3.51 では REG_DWORD 型です。
RecycleLVs キー この設定を使用可能にすると、Microsoft Jet データベース エンジンは長整数値 (LV) のページ (メモ型 (Memo)、ロング バイナリ型 (Long Binary) - OLE オブジェクト型 (OLE Object)、およびバイナリ型 (Binary) を再利用するようになります。Microsoft Jet データベース エンジン Version 3.0 では、最後のユーザーがデータベースを閉じるまでこれらのページは再利用されませんでした。RecyleLVs 設定を使用可能にした場合、Microsoft Jet データベース エンジン Version 3.5 は、データベースが拡張された場合、つまり、ページのグループが追加された場合に、ほとんどの LV ページの再利用を開始します。

メモ この機能を使用可能にすると、長整数型 (Long) のデータ型を操作する場合に処理能力が低下することがユーザーに通知されます。Microsoft Access 97 ではモジュールやフォーム、レポートを操作する場合に自動的にこの機能の使用可能と使用不能の設定が変わります。そのため、それらのオブジェクトを修正する場合にこの機能をオンにする必要はありません。既定値は 0 です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では DWORD 型、Microsoft Windows NT 3.51 では REG_DWORD 型です。

MaxBufferSize データベース エンジンの内部キャッシュのサイズを KB 単位で設定します。MaxBufferSize には、512 以上の整数値を設定します。既定値は次の式に基づいて決まります。

((TotalRAM in MB - 12MB) / 4) + 512KB

たとえば、32MB の RAM を搭載したシステムでは、既定値のバッファ サイズは ((32MB - 12MB) / 4) + 512KB = 5,632KB になります。値を既定値に戻すには、次のようにレジストリ キーを設定します。

MaxBufferSize=

値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では DWORD 型、Microsoft Windows NT 3.51 では REG_DWORD 型です。

Threads Microsoft Jet データベース エンジンが使用できるバックグラウンド スレッドの数です。既定値は 3 です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では DWORD 型、Microsoft Windows NT 3.51 では REG_DWORD 型です。
UserCommitSync コミットが完了するまでシステムが待機するかどうかを指定します。値 Yes は、システムが待機するように指定します。値 No は、システムが非同期にコミットを実行するように指定します。既定値は Yes です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では文字列型 (String)、Microsoft Windows NT 3.51 では REG_SZ 型です。
ImplicitCommitSync コミットが完了するまでシステムが待機するかどうかを指定します。値 No は、システムがコミットの完了を待たずに処理を進めるように指定します。値 Yes は、コミットが完了するまでシステムが待機するように指定します。既定値は No です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では文字列型 (String)、Microsoft Windows NT 3.51 では REG_SZ 型です。
ExclusiveAsyncDelay 排他データベースの非同期フラッシュの遅延時間をミリ秒単位で指定します。既定値は 2,000 (2 秒) です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では DWORD 型、Microsoft Windows NT 3.51 では REG_DWORD 型です。
SharedAsyncDelay 共有データベースの非同期フラッシュの遅延時間をミリ秒単位で指定します。既定値は 0 です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では DWORD 型、Microsoft Windows NT 3.51 では REG_DWORD 型です。
PagesLockedToTableLock 大量の操作を行う間、アクセスしようとするテーブルの個別のページをロックする代わりに、テーブル全体をロックすると、より効率的です。

この設定は、Microsoft Jet で排他的テーブル ロックに移行する前に、特定のトランザクションでロックできるページ数を指定します。

既定値 0 は、ページ ロックからテーブル ロックに自動的には変更されません。

メモ この設定は慎重に行ってください。データベースにマルチユーザー アクセスを行う場合、テーブル全体をロックするとほかのユーザーにロックの競合が発生します。特に、この設定で小さい数を指定すると、競合が発生する率が高くなります。25 や 50 といった大きな数を指定しても、ほかのユーザーの操作に影響があるかもしれません。


Microsoft Jet データベース エンジンのレプリケーション設定

Jet\4.0\Transporter キーには、Jet シンクロナイザを経由する Jet レプリケーション同期の初期設定が含まれます。これらの設定は、シンクロナイザ同期によって試みられる特定のトランスポートの順番を決定します。有効値は 0 〜 100 で、値 0 は、トランスポートが試みられないことを意味します。値が 0 以外のすべてのトランスポート型は、同期の実行が成功するかすべての試みが失敗するまで、昇順キーの値の順に試みられます。

通常、このキーのエントリの初期設定は次のようになっています。

Priority_FS=1

Priority_Internet=2

Priority_direct=3

    

Microsoft Jet データベース エンジンは、次の優先エントリを使用します。

エントリ 説明
Priority_FS ファイルシステムの間接同期は、複製間の一連のメッセージ交換に依存します。各複製を管理するシンクロナイザは、後で共有フォルダにコピーされるメッセージ ファイル(*.msg) に変更を集めます。ドロップボックスと呼ばれるこのファイルは、対応するシンクロナイザで使用され、ファイル システムを経由してアクセスが可能です。
Priority_Internet インターネットの間接同期は、複製間の一連のメッセージ交換に依存します。インターネット サーバー上のシンクロナイザに管理される複製だけが、HTTP や FTP 接続経由でアクセス可能なドロップボックスを持ちます。
Priority_direct 直接同期とは、同じコンピュータ上あるいはネットワークを経由して直接接続された複製セットの 2 メンバ間で、デザインの変更とデータを交換する処理のことです。シンクロナイザは、両方のデータベースを開きます。


メモ Windows レジストリの設定を変更した場合は、新しい設定内容を有効にするために必ずデータベース エンジンをいったん終了してから再起動してください。


参照

Microsoft Jet のための Windows レジストリ設定のカスタマイズ