「実世界」でこれを試す前に、いくつかのテストを行うために、SQL Server 2005 Express を自分のコンピューターで起動して実行することができました。
ユーザー インターフェイスとして "フロント エンド" を保持する SQL Server に移行する必要がある、かなり大きな MS Access 2007 データベース アプリケーションがあります。(アプリはすでにフロントエンドとバックエンドを持つ「分割」データベースです....)
SSMA を使用して Access データベースを SQL Server Express に移行するための初期テストをいくつか行いました。
明らかに私はいくつかのことを理解していません。
概念的には、サーバー上にあるデータベースのバックエンドを SQL サーバーに移行し、フロントエンドをバックエンドの (現在は SQL にリンクされている) テーブルに再リンクする必要があると考えました。
SSMA を使用してこれを行うと、"SSMA$myTableNameHere$local" のような名前のテーブルがバックエンド アクセス ファイルに作成されます。また、ODBC リンク テーブルとして表示される元のテーブル名も取得します。
ここまでは順調ですね。
しかし....フロントエンド(ユーザーインターフェイス)からリンクされたテーブルを再構築しようとすると、元のテーブル名ではなく「SSMA $ myTableNameHere $ local」という名前が表示されます(現在はODBC経由でリンクされています) 「SSMA、、、、」テーブルにリンクできますが、それは、すべてのクエリ、すべてのフォーム、およびフロント エンドのすべてのコードで、すべてのテーブルの名前を変更することを意味します。私が本当にやりたいことではありません。
それで....
FRONT END を移行して、何が起こるか見てみようと思いました。
私が最終的に得たのは、基本的には機能する状況です(データの欠落など、まだ見ていない重大なエラーや問題がいくつかあります!!!!)、それでも「SSMA $myTableNameHere$local" テーブルと、元の名前を持つ ODBC リンク テーブル。
理解しようとしているのですが……これは、フロントエンドで移行を行い、同じファイルを各ユーザーのコンピューターにコピーするだけということですか?
私が少し混乱しているもう 1 つの問題は、ODBC 経由でローカル マシン (つまり、私のコンピューター) 上の SQL Server Express にリンクできないため、バックエンドの移行をテストしてから、フロント経由でテーブルにリンクすることをテストできないことです。クライアント/サーバーの状況で過去に行ったように終了します。