基本的なアプローチは、データベースを2つの部分に分割することです。データベーススプリッタは、Accessに組み込まれています。一旦やってしまえば、理論上はバックエンドのaccDBアクセスファイルを誰にでも共有されているサーバフォルダに置くことができます。 Accessでリンクテーブルマネージャを使用して、バックエンドファイルにリンクします。
SQL Serverを使用することを「必須」としていたため、バックエンドのaccdbファイルテーブルをsqlサーバーに移行してから、再度組み込みテーブルマネージャを使用してテーブルをSQLサーバーにリンクします。したがって、アクセス・ファイルにリンクするプロセス、またはSQL Serverにリンクするプロセスはほぼ同じです。最終的な結果として、アクセスアプリケーションはSQLサーバー上のテーブルを使用するようになります。開発者やユーザーの視点からも、フォーム、コード、レポートなどは以前と同じように実行されます。
そして、原則として、開発用にマシン上でSQLサーバーを実行することが理にかなっています。あなたは、SQLサーバのコピーをSQLサーバの "強制"インスタンスにコピー/転送しなければならないでしょう。 SQLサーバーを使用しているサーバーがないと、SQLサーバーの使用を強制するのは意味がありません。
SQLサーバーを実行しているコンピュータにユーザーが接続できるようにすることは可能ですが、再起動、シャットダウンまたはコンピュータがフリーズすると、他のすべてのユーザーに接続が中断され、多くの不便さ。
現在、すべてのユーザーの共有フォルダがある場合、そのようなフォルダは通常、1人のユーザーのコンピュータには配置されませんが、全員に何らかの種類のサーバーとして機能する専用のコンピュータがあります。
SQLサーバーを使用するように指示している場合は、SQLサーバーを実行している専用マシンを提供していると考えています。だから確かに開発のために、あなたのコンピュータ上でSQLサーバを走らせることができます。ただし、SQL Serverで使用するように指示しているコンピュータ/サーバーにそのデータベースを転送する必要があります。そして、Accessアプリケーション・テーブルをそのプロダクション・サーバーを指すように再リンクします。最後に、この正しくリンクされたアプリケーションを各ユーザーに配布することです。だから、単語やExcelなど、あなたが購入するすべてのソフトウェアと同じように、あなたはそのソフトウェアを各コンピュータにインストールします。これでソフトウェアを構築しているので、開発者は同じ概念を採用します。つまり、各ワークステーションにソフトウェアを配布してインストールします。したがって、ローカルコンピュータからワードまたはExcel(またはAccess)を使用することもありますが、サーバー上のデータファイル(ただしアプリケーションではない)を「共有」していることがよくあります。
各ワークステーションに配布するアプリケーションが正しくリンクされ、サーバーベースのSQLサーバーを指している限り、すべて同じデータベースを共有します。実際には作成したアプリケーションで作業している複数のユーザーはいませんが、そのAccessアプリケーションは各ワークステーションに配布してください。各ワークステーションへのアプリケーションの取得方法は、ワード文書やExcelシートをどのように提供するかはまったく異なりません。ここで唯一の要件は、各ワークステーションが独自のコピーを取得することです。このアプリケーションの各ユーザーのコピーは、SQLサーバーを指すリンクされたテーブルを持っているので、すべての作業と共有データベースを共有します。
したがって、最初に把握する概念はデータベースを吐き出すことです。私はここで、この概念を説明します。ここ
いくつかのステップについては
http://www.kallal.ca/Articles/split/index.htm
とSQL Serverへの移行は、偉大な出発点である:
https://www.fmsinc.com/MicrosoftAccess/SQLServerUpsizing/index.html
これはMS Accessデータベースの移行についての質問ですSQLサーバーに? –
はい。しかし、さらに、LAN上の複数のユーザーがバックエンドにアクセスする際に助けが必要です。 –
SSMSはバックエンドではなく、SQL Serverのフロントエンドです。問題はありませんが、この質問はあまりにも幅広く話題にはなりません。 – Andre