複数のユーザーがネットワーク経由で共有するデータベースを分割することを検討してください。 共有データベースを分割すると、パフォーマンスが向上し、データベース ファイルが破損する可能性を減らすことができます。
データベースを分割した後、バックエンド データベースを移動するか、別のバックエンド データベースを使用するかを決定できます。 リンク テーブル マネージャーを使用して、使用するバックエンド データベースを変更できます。
注:
-
データベースの分割は、データベースのアーカイブと同じではありません。 このトピックでは、データをアーカイブする方法については説明しません。 古いレコードを別のデータベースに定期的に移動することによって、データをアーカイブします。これは、データベース ファイルがファイル サイズの制限に達しすぎるか、データベース ファイルを小さくし、データを期間によってクリーンに整理する必要があるためです。 状況によっては、データベースを分割してデータをアーカイブできます。 詳細については、オンライン記事「 アーカイブ アクセス データ」を参照してください。
-
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 Database]\( データベースへのアクセス\) をクリックします。 データベース スプリッター ウィザードが起動します。
-
[ データベースの分割] をクリックします。
-
[ バックエンド データベースの作成 ] ダイアログ ボックスで、名前、ファイルの種類、バックエンド データベース ファイルの場所を指定します。
注:
-
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] をクリック します。
-
新しいバックエンド データベースを参照して選択します。