複数のユーザーがネットワーク経由で共有しているデータベースを分割することを検討してください。 共有データベースを分割すると、パフォーマンスが向上し、データベース ファイルが破損する可能性を減らすことができます。
データベースを分割した後、バックエンド データベースを移動するか、別のバックエンド データベースを使用するかを決定できます。 リンク テーブル マネージャーを使用して、使用するバックエンド データベースを変更できます。
注
- データベースの分割は、データベースのアーカイブと同じではありません。 このトピックでは、データのアーカイブ方法については説明しません。 古いレコードを定期的に別のデータベースに移動してデータを整理している場合は、データベース ファイルがファイル サイズの制限まで急速に成長しすぎるか、データベース ファイルのサイズを小さくして期間別にデータをきれいに整理したい場合です。 状況によっては、データベースを分割することでデータをアーカイブできます。 詳細については、オンライン記事「Access データのアーカイブ」を参照してください。
- Web データベースを分割する場合、そのデータベース内の Web テーブルはバックエンド データベースに移動されず、結果のフロントエンド データベースからは到達できなくなります。
この記事の内容
概要
データベースを分割すると、データ テーブルが入っているバック エンド データベースと、クエリ、フォーム、レポートなどの他のすべてのデータベース オブジェクトが入っているフロント エンド データベースの 2 つのファイルに編成されます。 各ユーザーはフロント エンド データベースのローカル コピーを使用してデータを操作します。
データベースを分割するには、データベース スプリッター ウィザードを使用します。 データベースを分割した後、フロントエンド データベースをユーザーに配布する必要があります。
注意
データベースに複数のエンド ユーザーがいる場合にデータを保護するには、SharePoint リストへのリンクを含むデータベースのコピーを共有しないことをお勧めします。 SharePoint リストであるテーブルにリンクする場合、リンク テーブルの接続情報が暗号化されないため、悪意のあるユーザーがリンクのターゲットを変更し、SharePoint サイトでのアクセス許可を変更する可能性があります。
分割データベースの利点
分割データベースには、次のような利点があります。
パフォーマンスの向上 データのみがネットワーク経由で送信されるため、通常、データベースのパフォーマンスは大幅に向上します。 分割されていない共有データベースでは、データベース オブジェクト自体 (テーブル、クエリ、フォーム、レポート、マクロ、モジュール) が、データだけでなくネットワーク経由で送信されます。
可用性の向上 データのみがネットワーク経由で送信されるため、レコードの編集などのデータベース トランザクションがより迅速に完了し、データを編集しやすくなります。
強化されたセキュリティ NTFS ファイル システムを使用するコンピューターにバックエンド データベースを格納する場合は、NTFS セキュリティ機能を使用してデータを保護できます。 ユーザーはリンク テーブルを使用してバックエンド データベースにアクセスするため、侵入者がフロントエンド データベースを盗んだり、承認されたユーザーになりすましたりして、データへの不正アクセスを取得する可能性は低くなります。 ファイル サーバーで使用されているファイル システムがわからない場合は、システム管理者に問い合わせてください。 ファイル サーバーに対する管理者権限がある場合は、msinfo32 コマンドを実行してファイル システムを自分で特定できます。
msinfo32 を使用してファイル システムをチェックする操作方法- [スタート] ボタンをクリックし、[ ファイル名を指定して実行] をクリックします。
- [ ファイル名を指定して実行 ] ダイアログ ボックスに「 msinfo32 」と入力し、[ OK] をクリックします。
- [システムの概要] で、[コンポーネント] の横にあるプラス記号をクリックします。
- [ コンポーネント] で、[ 記憶域] の横にあるプラス記号をクリックし、[ ドライブ] をクリックします。 右側のパネルに、使用可能なドライブに関する情報が表示されます。
信頼性の向上 ユーザーに問題が発生してデータベースが予期せず終了した場合、データベース ファイルの破損は通常、ユーザーが開いていたフロントエンド データベースのコピーに限定されます。 ユーザーはリンク テーブルを使用してのみバックエンド データベース内のデータにアクセスするため、バックエンド データベース ファイルが破損する可能性ははるかに低くなります。
柔軟な開発環境 各ユーザーはフロントエンド データベースのローカル コピーで作業するため、各ユーザーは、他のユーザーに影響を与えることなく、クエリ、フォーム、レポート、およびその他のデータベース オブジェクトを独立して開発できます。 同様に、バックエンド データベースに格納されているデータへのアクセスを中断することなく、フロントエンド データベースの新しいバージョンを開発して配布できます。
始める前に
データベースを分割する前に、次のことを考慮してください。
データベースは、分割する前に必ずバックアップする必要があります。 データベースを分割した後、データベースを分割しないことにした場合は、バックアップ コピーから元のデータベースを復元できます。
データベースの分割には時間がかかる場合があります。 分割中にデータベースを使用しないようにユーザーに通知する必要があります。 データベースの分割中にユーザーがデータを変更した場合、変更はバックエンド データベースに反映されません。
ヒント
データベースの分割中にユーザーがデータを変更した場合は、完了後に新しいデータをバックエンド データベースにインポートできます。
データベースの分割はデータを共有する 1 つの方法ですが、データベースを使用するすべてのユーザーが、バックエンド データベースのファイル形式と互換性のあるバージョンの Microsoft Office Access を持っている必要があります。 たとえば、バックエンド データベース ファイルで .accdb ファイル形式が使用されている場合、Access 2003 を使用してそのデータにアクセスすることはできません。
サポートされなくなった機能を使用する場合は、バックエンド データベースに以前の Access ファイル形式を使用したい可能性があります。 たとえば、データ アクセス ページ (DAP) を使用する場合です。バックエンド データベースが DAP をサポートする以前のファイル形式である場合は、引き続き使用できます。 その後、フロントエンド データベースで新しいファイル形式を使用して、ユーザーが新しい形式の利点を利用できるようになります。 Access 2010 以降を使用してデータ アクセス ページのデータを変更することはできません。
データベースを分割する
コンピューターで、分割するデータベースのコピーを作成します。 ネットワーク共有上ではなく、ローカル ハード ドライブ上のデータベース ファイルから開始します。 データベース ファイルが現在ローカル ハード ディスク ドライブから共有されている場合は、そのままにしておいてかまいません。
ローカル ハード ディスク ドライブ上のデータベースのコピーを開きます。
[ データベース ツール ] タブの [データの移動 ] グループで、[ Access データベース] をクリックします。 データベース スプリッター ウィザードが起動します。
[ データベースの分割] をクリックします。
[ バックエンド データベースの作成] ダイアログ ボックスで、バックエンド データベース ファイルの名前、ファイルの種類、および場所を指定します。
注
- Access が提案する名前を使用することを検討してください。 元のファイル名を保持し、ファイル名拡張子の直前に _be を名前に挿入することで、データベースがバックエンド データベースであることを示します。
- 一部のユーザーが以前のバージョンの Access を使用してデータにアクセスしない限り、ファイルの種類を変更しないでください。
- [ ファイル名 ] ボックスのファイル名の前に、ネットワークの場所へのパスを入力できます。 たとえば、バックエンド データベースのネットワークの場所が \\server1\share1\ で、バックエンド データベースのファイル名が MyDB_be.accdb である場合、[ファイル名] ボックスに「\\server1\share1\MyDB_be.accdb」と入力できます。
- 選択する場所は、データベースを使用するすべてのユーザーが使用できる必要があります。 ドライブのマッピングは異なる場合があるため、マップされたドライブ文字を使用するのではなく、場所の UNC パスを指定する必要があります。
ウィザードが終了すると、確認メッセージが表示されます。
これでデータベースが分割されます。 フロントエンド データベースは開始したファイル (元の共有データベースのコピー) で、バックエンド データベースは、この手順の手順 5. で指定したネットワークの場所にあります。
フロントエンド データベースの設計に対する変更を制限する
配布するフロントエンド データベースへの変更を制限するには、コンパイル済みのバイナリ ファイル (.accde ファイル) として保存することを検討してください。 コンパイル済みバイナリ ファイルは、コンパイル済みの Visual Basic Access (VBA) コードがすべてコンパイルされた状態で保存されたデータベース アプリケーション ファイルです。 Access のコンパイル済みバイナリ ファイルには VBA のソース コードは残っていません。 ユーザーは、.accde ファイル内のオブジェクトのデザインを変更できません。
- コンパイル済みバイナリ ファイル (.accde) として保存するフロントエンド データベース ファイル (.accdb) を開きます。
- [ファイル]>[名前を付けて保存]>ACCDE の作成>名前を付けて保存] をクリックします。
- [ 名前を付けて保存 ] ダイアログ ボックスで、ファイルを保存するフォルダを参照し、[ ファイル名 ] ボックスにファイルの名前を入力して、[ 保存] をクリックします。
フロントエンド データベースを配布する
データベースを分割した後、フロントエンド データベースをユーザーに配布して、ユーザーがデータベースの使用を開始できるようにします。
注意
データベースに複数のエンド ユーザーがいる場合にデータを保護するには、SharePoint リストへのリンクを含むデータベースのコピーを共有しないことをお勧めします。 SharePoint リストであるテーブルにリンクする場合、リンク テーブルの接続情報が暗号化されないため、悪意のあるユーザーがリンクのターゲットを変更し、SharePoint サイトでのアクセス許可を変更する可能性があります。
次のいずれかの操作を行います。
- データベース ユーザーに電子メール メッセージを送信し、フロントエンド データベース ファイルをメッセージに添付します。 ユーザーがフロントエンド データベースをすぐに使い始めやすいように、指示を含めます。
- フロントエンド データベース ファイルをすべてのデータベース ユーザーがアクセスできるネットワーク上の場所に保存し、データベースにアクセスするために必要なその他の手順と共にネットワークの場所を指定する電子メール メッセージをユーザーに送信します。
- CD-ROM や USB サム ドライブなどのリムーバブル メディアを使用してフロントエンド データベース ファイルを配布します。 自分でファイルをインストールする場合は、テストして動作することを確認できます。 ユーザーがファイルをインストールする必要がある場合は、ファイルをインストールするために何をする必要があるか、問題が発生した場合の連絡先を説明するドキュメントを含める必要があります。
使用するバックエンド データベースを変更する
リンク テーブル マネージャーを使用して、バックエンド データベースを移動したり、別のバックエンド データベースを使用したりすることができます。
バックエンド データベースを移動する場合は、まずコピーを新しい場所に作成し、次の手順に従います。
[ 外部データ] タブの [リンク & インポート ] グループで、[ リンク テーブル マネージャー] をクリックします。
[リンク テーブル マネージャー] で、現在のバックエンド データベースにあるテーブルを選択します。
ヒント
他のデータベースにリンクしていない場合は、[ すべて選択] をクリックします。
[常に新しい場所をチェックする] チェック ボックスをオンにし、[OK] をクリックします。
新しいバックエンド データベースを参照して選択します。