クライアントの設定では、低環境のデータベースサーバーはすべてコスト削減のために1つのサーバー上にありますが、高環境では、これらのデータベースは別のサーバーに展開され、サーバー間でクエリが実行されるときにリンクサーバーが使用されます。
設定例:
Dev:
Server1: DB1, DB2
UAT:
Server1: DB1 (with linked server for DB2)
Server2: DB2
4つの部分の[server].[database].[schema].[object]
識別子とデータベース参照変数を使用して関係をモデル化し、SQL Server Data Toolsプロジェクトの単一セットでデータベースを維持しようとしています。これは、データベースが同じサーバー上にない場合はうまく機能しますが、データベースが同じサーバー上にある場合は失敗します。
私の質問:
synonym を使用します。同義語は同期しないでください。ローカルサーバー上にある場合:
CREATE SYNONYM dbo.FooBar FOR DBName.dbo.TableName;
リモートの場合:
CREATE SYNONYM dbo.FooBar FOR ServerName.DBName.dbo.TableName;
これで、コードはどこにあってもdbo.FooBar
を参照するだけで済みます。