SQLServer2005(その3)

引き続きSQLServer2005について。

  • シノニム(別名)

オブジェクトの別名を定義したもの。


例えば別のサーバのオブジェクトにアクセスする場合、通常…
[サーバ名.データベース名.スキーマ名.オブジェクト名]
を指定してアクセスすることになるが、これを別名(シノニム)に置き換えることが出来る。
シノニムを使用することで、別のサーバー,データベース,スキーマのオブジェクトを、自分のスキーマ内のオブジェクトのように扱うことが出来る。

スキーマを作成するには以下のSQL文を実行する。
CREATE SYNONYM シノニム名 FOR オブジェクト(※)

※オブジェクトはに以下のいずれかの方法で指定する。
・サーバ名.[データベース名].[スキーマ名].オブジェクト名
・データベース名.[スキーマ名].オブジェクト名
スキーマ名.オブジェクト名
[]内は、シノニムを作成する環境と同じなら省略可能。

例えば別のサーバのテーブルを参照するストアドプロシージャを作成する時に、テスト用と本番用でサーバ名が異なる場合、ストアドプロシージャからはシノニムを指定してテーブルを参照するようにすればテスト用と本番用で同じモジュールを使用できる。
サーバ名などの差異は、シノニムの参照先を変更することで吸収する。

シノニムを作成できるオブジェクトは、テーブル、ビュー、ファンクション、ストアドプロシージャなど。
詳細は「Books Online」を参照。