「シノニム」っていう単語を知らなかったので、無視してましたが、直訳すると、「同意語」とかいう意味だそうです。
SQLServer 2005 以降ですが、
これ、意外とめっちゃ便利かも。
他のデータベースのオブジェクトをそのまま「別名を付けて」利用することができます。
今までは、ビューを作って接続していましたが、「Synonym」を使うと、元のデータベースと同じ名前で作成することもできるので、ほぼ、元のデータベースと同じオブジェクトような感覚で扱うことができます。
作成する際も、「 CREATE SYNONYM こっち側のテーブル名 FOR あっち側のサーバー名.データベース名.スキーマ.テーブル名 」で簡単に作成できます。
元になるデータベースのテーブル一覧は、「 Select * from sys.Tables 」で全部取ってこれますので、ループでぐるぐる回せば、あっち側のすべてのテーブルをシノニムにすることが簡単にできてしまいます。
(もちろん、あっち側のビューとかもとってこれます。)
同じデータを利用した別のシステムを構築するときに、同じデータベース内にビューなどのオブジェクトをどんどん作っていくと、名前付けに苦労します。
こんな時に、システム別にそれぞれデータベースを作って、それぞれのデータベース側は全部シノニムで接続しておけば、元のデータベース内と同じ感覚で作業できます。