Jet 4.0 データベースの動作環境を最適に保つ方法

文書翻訳 文書翻訳
文書番号: 303528
この記事は、以前は次の ID で公開されていました: JP303528
すべて展開する | すべて折りたたむ

目次

概要

Microsoft Jet は、Microsoft Access で既定で使用されるデータベース エンジンです。この資料では、Jet データベースの動作環境を最適に保つために役立つ推奨事項を紹介します。この資料は、シングル ユーザー環境で実行されるデータベースとマルチユーザー環境で実行されるデータベースの両方を対象としています。

最適な方法

以下の内容は、データベースのユーザーが 1 人のみの場合でも、複数のユーザーがネットワーク経由でデータベースを使用している場合でも、すべての Jet データベースに適用されます。

オペレーティング システムの最新の Service Pack がインストールされていることを確認する

オペレーティング システムの最新の Service Pack をインストールします。

使用しているオペレーティング システムの最新の Service Pack がインストールされているかどうかを確認するには、次のマイクロソフト Web サイトにアクセスします。
http://update.microsoft.com
ネットワーク環境で作業している場合は、ネットワーク ファイル サーバーにオペレーティング システムの最新の Service Pack がインストールされていることを確認します。最新の Service Pack がインストールされていれば、ネットワーク ファイル サーバーのネットワーク リダイレクターとファイル システムに最新の更新内容が適用されています。

Microsoft Jet の最新の Service Pack がインストールされていることを確認する

Jet 4.0 データベース エンジンの最新版を入手する方法の関連情報を参照するには、以下のサポート技術情報をクリックしてください。
239114 Microsoft Jet 4.0 データベース エンジン用の最新の Service Pack の入手方法
ネットワーク環境で作業している場合は、最新の Microsoft Jet Service Pack をすべてのクライアント コンピューターにインストールする必要があります。ネットワーク ファイル サーバーには、Microsoft Jet を使用するアプリケーションが 1 つ以上実行されているサーバーを除き、Microsoft Jet Service Pack をインストールする必要はありません。

効率的なデータベース設計を使用する

データベースを効率的に設計すると、データベースのパフォーマンスが向上します。また、データベース ファイルが破損する危険性を軽減するうえで役立ちます。 データベースの最適な設計方法の関連情報を参照するには、以下のサポート技術情報をクリックしてください。
289533 Access でのデータベース設計に関する情報の参照

使用している Jet データベース エンジンに適したファイル形式の Jet データベースを使用する

最適なパフォーマンスと安定性を得るため、Microsoft Jet 4.0 クライアントを使用している場合は、Microsoft Jet 4.0 形式のデータベースを使用します。同様に、Microsoft Jet 3.5 クライアントを使用している場合は、Microsoft Jet 3.0 形式のデータベースを使用します。

次の表は、現在利用可能な Jet の形式の一覧です。また、Jet 4.0 クライアントを使用している場合に各形式の変換に使用されるトランスレーター DLL も示しています。

Access バージョン	Jet 形式    使用されるトランスレーター DLL
   --------------	----------    -------------------
Access 2.0    	Jet 2.0       Msrd2x40.dll
Access 95     	Jet 3.0       Msrd3x40.dll
Access 97     	Jet 3.0       Msrd3x40.dll
Access 2000   	Jet 4.0       なし
Access 2002 	Jet 4.0       なし
Access 2003  	Jet 4.0       なし 
				
次の表から、Access 95 と Access 97 では Jet 3.0 形式のデータベース ファイルが作成されることがわかります。Access 2000、Access 2002 および Office Access 2003 では、Jet 4.0 形式のデータベース ファイルが作成されます。Jet 4.0 クライアントを使用している場合は、トランスレーター DLL の使用を避けるために Jet 4.0 形式のデータベース ファイルを使用してください。また、Jet 3.5 クライアントを使用している場合は、Jet 3.0 形式のデータベースを使用することを推奨します。

次の表は、最も頻繁に使用される Microsoft Jet データベース エンジン クライアントと各クライアントで使用される Jet データベース エンジンのバージョンを示しています。

	クライアント アプリケーション	使用される Jet データベース エンジン	推奨される Jet データベース形式
    -------------------------   ------------------------       --------------------------------
	Access 2.0			Jet 2.0				Jet 2.0
	Access 95			Jet 3.0				Jet 3.0
	Access 97			Jet 3.5				Jet 3.0
	Access 2000			Jet 4.0				Jet 4.0
	Access 2002			Jet 4.0				Jet 4.0
	Office Access 2003		Jet 4.0				Jet 4.0
	DAO 3.0				Jet 3.0				Jet 3.0
	DAO 3.5				Jet 3.5				Jet 3.0
	DA0 3.6				Jet 4.0				Jet 4.0
	Microsoft.JET.OLEDB.3.51	Jet 3.5				Jet 3.0
	Microsoft.Jet.OLEDB.4.0`	Jet 4.0				Jet 4.0
	Access ODBC Driver		Jet 4.0				Jet 4.0
				
: MDAC 2.0 以前に含まれている Microsoft Access ODBC ドライバーでは、Microsoft Jet 3.5 が使用されます。MDAC 2.1 および MDAC 2.5 に含まれている Microsoft Access ODBC ドライバーでは、Microsoft Jet 4.0 が使用されます。MDAC 2.6 以降のバージョンには、Microsoft Access ODBC ドライバーは含まれていません。

同じデータベース ファイルを以前のバージョンの Jet アプリケーションと新しいバージョンの Jet アプリケーションの両方で使用している場合など、特定の状況では、最新の Jet データベースのファイル形式を使用できないことがあります。これは、バージョンの古い Jet エンジンでは、Jet データベースの新しいファイル形式の読み取りと書き込みができないためです。そのような場合は、古い方の形式を使用し、トランスレーター DLL を使用する必要があります。

オブジェクト名またはフィールド名に予約語や予約文字を使用しない

データベースのオブジェクトやフィールドに名前を付けるときは、予約語や予約文字を使用しないでください。予約語または予約文字を単独で使用したり、予約語または予約文字を空白で囲んで他の単語と組み合わせて使用したりすると、データベースが破損することがあります。

Microsoft Access の予約語と予約文字の関連情報を参照するには、以下のサポート技術情報をクリックしてください。
286335 Access 2002 およびそれ以降のバージョンの Access の予約語の一覧

Microsoft Jet データベースを定期的に最適化する

データベースで頻繁に変更を加えると、データベースの一部が断片化される場合があります。このため、Access のデータベースの最適化ツールを定期的に実行してください。Access がない場合でも、JetComp ユーティリティを使用してデータベースを最適化できます。

Microsoft Jet 4.0 用の JetComp ユーティリティを入手する方法の詳細を参照するには、以下のサポート技術情報をクリックしてください。
295334 ダウンロード センターで入手可能な Jet 最適化ユーティリティ (英語)
データベースを最適化する頻度は、データが変更される頻度によって異なります。データが頻繁に変更されない場合は、最適化を頻繁に実行する必要はありません。データベースの変更が頻繁に行われる場合は、データベースを最適化する回数を増やしてください。データベースを最適化する頻度についての正式な規則はありませんが、データベースを定期的に最適化することを推奨します。

以下では、Microsoft Jet でのデータベースの最適化について説明します。

データベースの最適化の関連情報を参照するには、以下のサポート技術情報をクリックしてください。
288631 データベースに対してデフラグと最適化を実行してパフォーマンスを向上させる (英語)
Microsoft Jet データベース エンジンは、Microsoft Access データベース ファイルを 4096 バイトのブロックの連続として処理します。これは、一般的なファイル システムでハード ディスクのデータを処理する方法とほぼ同じです。1 つの Microsoft Jet テーブルを構成するすべてのレコード セットが、この一連のブロックに格納されます。各ブロックには次のブロックへのポインターが含まれています。また、各ブロックには、1 つ以上のレコードが保持されます。1 つのブロックに保持されるレコードの数は、各レコード内のフィールドの数とデータの量によって異なります。テーブルでレコードの追加や削除が行われると、データベース ファイル内のテーブル ブロックが断片化されます。

Microsoft Jet データベースを最適化すると、同じテーブルのデータが連続したブロックの範囲内に再配置され、ブロックの断片化が解消されます。これにより、テーブルに対する読み取りと書き込みのパフォーマンスが向上します。

また Access データベースのインデックスも 4096 バイトのブロック単位で格納されます。そのため、インデックスもテーブル レコードと同じように断片化されることがあります。

Jet データベースを最適化すると、データベース内に格納されているテーブル統計情報が更新されます。重要なテーブル統計情報の 1 つに、テーブル内のレコード数があります。テーブル統計が示すレコード数とテーブル内の実際のレコード数とが大幅に異なると、パフォーマンスが低下することがあります。たとえば、テーブル統計情報のレコード数が少ない場合、Jet データベース エンジンが検索または結合を実行するときに Jet データベース エンジン オプティマイザーがテーブルでインデックスを使用しません。レコード数が実際に少ない場合は、この方法が効率的です。しかし、大量のレコードが存在する場合は、処理がきわめて非効率になることがあります。そのため、大量のレコードの追加、削除、更新が実行されるデータベースでは、最適化の回数を増やす必要があります。

データベースを最適化するとき、Microsoft Jet によりデータベースのストアド クエリの最適化も再実行されます。これにより、更新されたテーブル統計情報が反映されます。そのため、データベースを最適化すると、ストアド クエリのパフォーマンスが向上します。

Microsoft Jet データベース ファイルを定期的にバックアップする

失っても対応可能なデータ量を考慮して、バックアップ スケジュールを作成します。たとえば、1 日分のデータを失っても対応が可能な場合は、バックアップを毎日実行します。1 週間分のデータを失っても対応が可能な場合は、バックアップを毎週実行します。破損した Microsoft Jet データベース ファイルを確実に修復するためには、データベース ファイルの完全バックアップを作成するのが最善の方法です。

重要: ネットワーク環境で作業している場合は、Access データベース ファイルのバックアップを実行する前に、すべての Jet クライアントを終了する必要があります。クライアント アプリケーションを終了しない場合、バックアップ ファイルに不完全なデータが含まれることや、データの不整合が発生することがあります。バックアップ ファイルを定期的にテストして、バックアップ ファイルが正常であることを確認してください。

使用している Office のバージョンの最新の Service Pack がインストールされていることを確認する

マイクロソフトでは Microsoft Office 用の Service Pack および更新プログラムを定期的に提供しています。パフォーマンスや他のプログラムとの相互運用性を強化するために、使用している Office のバージョンに対応する最新の Service Pack または Office 更新プログラムをインストールしてください。マイクロソフト Office Update Web サイトを利用すれば、最新の Service Pack と更新プログラムがすべて自動的にインストールされます。Office Update Web サイトを使用して、コンピューターにインストールする必要のある更新プログラムを検出するには、次のマイクロソフト Web サイトにアクセスしてください。
http://office.microsoft.com/ja-jp/downloads/FX101859091041.aspx
Office Update Web サイトでお使いのコンピューターに必要な最新の更新プログラムが検出されると、確認のために、推奨する更新プログラムの一覧が表示されます。[インストールの開始] をクリックして更新プログラムをインストールします。

ネットワーク環境におけるその他の推奨事項

Microsoft Jet はファイル共有型データベース システムです。ファイル共有型データベース システムでは、ファイルをクライアント側で処理します。Microsoft Jet のようなファイル共有型データベースをマルチユーザー環境で使用すると、ネットワーク経由で複数のクライアント プロセスが同じ共有ファイルの読み取り、書き込みおよびロックを実行します。プロセスが処理を完了できないと、ファイルが不完全な状態または破損した状態のままになることがあります。次のいずれかの原因で処理を完了できないことがあります。
  • クライアントが突然停止した場合
  • サーバーへのネットワーク接続が遮断された場合
Microsoft Jet は、高い負荷がかかるサーバー アプリケーション、多くのプロセスによって同時に使用されるサーバー アプリケーション、毎日 24 時間無停止で実行されるサーバー アプリケーションでの使用は想定されていません。このようなサーバー アプリケーションには、電子商取引アプリケーション、トランザクション アプリケーション、メッセージング サーバー アプリケーションなどが含まれます。このようなアプリケーションを使用している場合、最適なソリューションは、Microsoft Data Engine (MSDE) または Microsoft SQL Server などのクライアント/サーバー ベースのデータベース システムに切り替えることです。インターネット インフォメーション サービス (IIS) のように高い負荷がかかるアプリケーションで Microsoft Jet を使用すると、次のいずれかの問題が発生する可能性があります。
  • データベースの破損
  • IIS がクラッシュする、動かなくなるなどの安定性の問題
  • IIS サービスの再起動を必要とする、有効なデータベースへのドライバーの突発的または恒久的な接続障害
ネットワーク ファイル サーバーで Microsoft Jet データベース ファイル (Microsoft Access データベース ファイル) を共有する場合の推奨事項を以下に示します。


Windows Vista でフォルダー リダイレクトを使用しない

オリジナル リリース版の Windows Vista で Windows Vista フォルダーのリダイレクト機能を使用しているフォルダーに Jet データベースが保存されているときに破損することがあるという既知の問題があります。

この問題を回避するには、Windows Vista Service Pack 1 に更新するか、Windows Vista のリダイレクト機能を使用しているフォルダーに Jet データベースを保存しないようにする必要があります。最新版の Windows Service Pack を入手するには、以下のマイクロソフト Web サイトにアクセスしてください。
http://update.microsoft.com
Windows Server 2003、Windows XP、または Windows 2000 のフォルダーのリダイレクト機能でこのような問題が確認されています。

フォルダーのリダイレクトの関連情報を参照するには、以下のサポート技術情報をクリックしてください。
232692 Windows のフォルダのリダイレクト機能
フォルダーのリダイレクト機能の関連情報については、次の Web サイトを参照してください。
http://technet.microsoft.com/ja-jp/systemcenter/bb676760.aspx

ネットワーク ファイル サーバーでの Opportunistic Locking (Oplock)


ネットワーク ファイル サーバー上のファイルを 2 つ以上のクライアントが共有している場合、Opportunistic Locking を使用すると、Jet データベースが破損する危険性が高くなることがあります。この問題は、Opportunistic Locking をサポートする、Microsoft Windows NT 4.0、Microsoft Windows 2000 または Novell ベースのファイル サーバーで発生します。また、Opportunistic Locking をサポートするファイル サーバーに接続する Microsoft Windows NT 4.0、Microsoft Windows 2000 または Microsoft Windows XP ベースのクライアントでも発生します。

:Microsoft Office Access 2003 を実行するクライアントでは、Windows 2000 SP3 以降、または Windows XP 以降のオペレーティング システムが実行されている必要があります。

この問題を回避するには、Access データベース ファイルが置かれている Windows 2000 ファイル サーバーに Windows 2000 Service Pack 3 (SP3) 以降をインストールする必要があります。その後、この Windows 2000 ファイル サーバーに接続する各 Windows クライアント コンピューターに最新の Windows Service Pack をインストールします。

最新版の Windows Service Pack を入手するには、以下のマイクロソフト Web サイトにアクセスしてください。
Microsoft Windows 更新プログラム
Windows NT 4.0 を使用している場合、または Windows 2000 SP3 以降をインストールしない場合は、Opportunistic Locking を無効にすることで、この問題を回避できます。

重要: Opportunistic Locking を無効にすると、他のアプリケーションのパフォーマンスに悪影響を及ぼすことがあります。この影響については、Microsoft Windows の技術サポートにお問い合わせください。

Windows NT 4.0 で Opportunistic Locking を無効にする方法の詳細を参照するには、以下のサポート技術情報をクリックしてください。
129202 [PC Ext] Windows NT の Opportunistic Locking の説明
Windows 2000 で Opportunistic Locking を無効にする方法の詳細を参照するには、以下のサポート技術情報をクリックしてください。
296264 Windows で Opportunistic Lock を構成する
Novell ファイル サーバーで Opportunistic Locking を無効にする場合、その方法については Novell のテクニカル サポートに問い合わせることをお勧めします。ハードウェア製造元の情報については、次の Web サイトを参照してください。
http://support.microsoft.com/gp/vendors/en-us
他社テクニカル サポートのお問い合わせ窓口は、ユーザーの便宜のために提供されているものであり、将来予告なしに変更されることがあります。マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。

Microsoft Jet データベースを共有する場合の注意事項

Microsoft Windows 95、Microsoft Windows 98、または Microsoft Windows Millennium Edition (Me) のファイル共有に格納されている Microsoft Jet データベース ファイルを、Windows NT クライアントまたは Windows 2000 クライアントと共有することは推奨しません。

Windows 95、Windows 98 または Windows Me を実行するコンピューターと Windows NT または Windows 2000 を実行するコンピューターとが混在する環境で他のネットワーク ユーザーとデータベースを共有する場合は、Opportunistic Locking を無効にしたうえで、Windows NT または Windows 2000 を実行するサーバーにデータベース ファイルを格納して共有することを推奨します。

Windows 95、Windows 98、または Windows Me のファイル共有に格納されているファイルを、Windows NT または Windows 2000 を実行するクライアント コンピューターと共有している場合、データベースの破損が発生することがあります。この問題は、Windows NT または Windows 2000 を実行するクライアント コンピューターで Opportunistic Locking が無効になっている場合でも発生することがあります。この問題は現在調査中です。情報を入手できましたら、この資料に掲載する予定です。

: Microsoft Office Access 2003 を実行するクライアントでは、Windows 2000 SP3 以降、または Windows XP 以降のオペレーティング システムが実行されている必要があります。

堅牢なファイル サーバーを使用する

Microsoft Jet データベース ファイルを使用するユーザーの数と要求の数に対応できる堅牢なファイル サーバーを使用してください。また、このファイル サーバーには Windows ドメイン コントローラー、Exchange サーバー、SQL Server など他の役割を与えないようにして、負荷が大きくなるのを避けます。

メール サービスなど他の重要なサービスの問題を修正するためにサーバーを再起動しても、問題が発生します。さらに、サーバーに新しいソフトウェアをインストールした後、あるいは Service Pack や修正プログラムを適用した後、そのサーバー上で Microsoft Jet データベースが共有されていることを忘れてサーバーを再起動しても、問題が発生します。ファイル サーバーが再起動するとき、データベースへのクライアント接続の予期しない中断が発生します。その結果、データベースが破損することがあります。クライアント接続の中断を避けるには、ファイル サーバーを再起動する前に、またはソフトウェア更新プログラムをファイル サーバーに適用する前に、すべてのクライアントでデータベースを閉じる必要があります。

また、ファイル サーバーは、電源を誤って切断することのない安全な場所に置く必要があります。無停電電源装置 (UPS) を使用して、断続的な停電や電力変動から保護する必要があります。さらに、ネットワーク ファイル サーバーには、以下のものが必要です。
  • パフォーマンスの高いハード ディスク ドライブ
  • 高品質のネットワーク カード
  • サーバーにかかる負荷に対応できる大容量の RAM

ネットワーク接続を確認する

ネットワークが安定していて高速であること、およびネットワーク ファイル サーバーへのネットワーク接続が安定していることを確認します。WAN、モデム接続、FTP など、信頼性の低いネットワーク転送方式を経由して Microsoft Jet を使用することは推奨しません。Microsoft Jet はファイル共有型データベース システムであるため、信頼性の低いネットワーク転送方式を使用するとクライアント接続が遮断されることが多くなり、その結果、データベースが破損する可能性が高くなります。

各クライアントからの接続数を最小限にする

Microsoft Jet データベースへの接続を各クライアントが 1 つずつ使用する設計にすることを推奨します。同じクライアント プロセスからの接続でも、Jet データベースに対するそれぞれの接続が 1 つの独立したデータベース クライアントと見なされます。

パフォーマンスとネットワーク入出力を最適化し、バックエンド データベースにかかるマルチユーザーの負荷を軽減するには、1 つの接続を使用して Jet データベースに接続するようにクライアント アプリケーションを設計します。必要に応じて、この接続を複数のレコード セットで共有します。この方法には、クライアント アプリケーションでの読み取りと書き込みの遅延が回避されるという利点があります。独立した 2 つの Jet 接続で書き込みと読み取りが発生する場合、データベースに値が書き込まれた後、この更新された値の読み取りが可能になるまでに既定で 5 秒の遅延が発生します。この遅延は、2 つの接続が同じクライアント プロセス上に存在する場合にも発生します。使用する接続を 1 つにすることにより、この問題を回避できます。

Microsoft Jet データベースへのアクセスに ADO を使用する

ADO から Microsoft Jet データベースにアクセスする場合、Microsoft Access ODBC ドライバーではなく、Microsoft Jet OLE DB プロバイダーを使用することを推奨します。 この問題の関連情報を参照するには、以下のサポート技術情報をクリックしてください。
299974 IIS と共に Microsoft Jet を使用する

トランザクション対応のデータベース エンジンに移行して整合性を高める

Microsoft SQL Server のようなサーバー ベースのデータベース エンジンは、ファイル ベースのデータベース エンジンとは異なり、複数のクライアントからのデータベース要求をすべてサーバー側で処理します。サーバーは、これらの要求をトランザクション ログに記録します。ある要求を処理できない場合、サーバーは要求をロール バックするか、要求を処理しません。これにより、データベースが不完全な状態または破損した状態になる危険性が減少します。

ファイル ベースのデータベース エンジンからサーバー ベースのデータベース エンジンにアップグレードする前に、アップグレードした場合のメリットとデメリットを検討する必要があります。 最適なデータベース エンジンを選択する方法の詳細を参照するには、以下のサポート技術情報をクリックしてください。
168549 Microsoft ダウンロード センターで公開されている、適切なデータベースの選択に関するホワイト ペーパー
: このホワイト ペーパーは Access 97 用に記述されたものですが、Jet 4.0 と Access 2000 にも適用されます。

バックエンド データベースを更新した後にリンク テーブルを最新の情報に更新する

Jet データベースに ODBC バックエンド データベース サーバーへのリンクを含め、そのサーバーをより新しいメジャー バージョンに更新する場合は、Jet データベース内のリンクされたテーブルをすべて更新する必要があります。たとえば、SQL Server 2000 から SQL Server 2005 にサーバーを更新します。

関連情報

データベースが破損している場合の対処法の詳細を参照するには、以下のサポート技術情報をクリックしてください。
306204 Microsoft Access データベース破損のトラブルシューティング方法

304701 Microsoft Access データベース破損のトラブルシューティング方法

824271 Office Access 2003 データベースの破損のトラブルシューティングについて


この資料に記載されているその他の内容の関連情報を参照するには、以下のサポート技術情報をクリックしてください。
200300 Jet OLE DB プロバイダーと ADO で読み取りと書き込みを同期させる方法
283849 Access 2002 以降の破損したデータベースをトラブルシューティングおよび修復する方法
299974 IIS と共に Microsoft Jet を使用する
296264 Windows で Opportunistic Lock を構成する
129202 [PC Ext] Windows NT の Opportunistic Locking の説明
304408 カスタム Access アプリケーションをリモートからシャットダウンする方法
300216 Access 2000 で Jet 4.0 データベースの動作環境を最適に保つ方法

プロパティ

文書番号: 303528 - 最終更新日: 2011年2月3日 - リビジョン: 9.4
キーワード:?
kbhowtomaster KB303528
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com