方法 : データベース間参照を作成する
データベース プロジェクトから別のデータベースにあるオブジェクトを参照するには、次の手順を実行する必要があります。
参照先のデータベースに、関連付けられたデータベース プロジェクトが存在することを確認します。詳細については、「方法 : データベース プロジェクトを作成する」を参照してください。
データベース プロジェクトで、参照先のサーバーおよびデータベースと、配置先のサーバーへの参照を追加します。さらに、参照先のデータベースとサーバーに関する SETVAR 変数を定義します。参照を含むデータベースが、参照先のデータベースと同じサーバー上にある場合は、サーバーの変数を指定する必要はありません。
オブジェクト定義に、定義した SETVAR 変数を使用したデータベース間参照を含めます。
メモ : |
---|
データベース間参照を含むスキーマを作成またはインポートする場合、名前ではなく SETVAR 変数を使用してサーバーおよびデータベースを参照するようにスキーマを更新する必要があります。そうしないと、参照ごとに [エラー一覧] ウィンドウに警告が表示されます。警告が表示されるのは、プロジェクトを配置するときに参照しているオブジェクトが存在しない可能性があるためです。SETVAR 変数を使用してサーバーおよびデータベースの名前を置換した後は、データベース リファクタリングを使用して、これらの変数の名前と値を更新できます。 |
データベース プロジェクトに参照を追加するには
参照を追加するデータベース プロジェクトを含むソリューションを開きます。
詳細については、「方法 : データベース プロジェクトを開く」を参照してください。
[プロジェクト] メニューの [データベース参照の追加] をクリックします。
[データベース参照の追加] ダイアログ ボックスが表示されます。
データベース プロジェクトへの参照を追加するには :
[現在のソリューションのデータベース プロジェクト] をクリックします。
一覧で、参照先として追加するデータベース プロジェクトをクリックします。
メタファイルへの参照を追加するには :
[データベース プロジェクト メタ ファイル (.dbmeta)] をクリックします。
ボックスで、メタファイルのパスとファイル名を入力するか、[参照] をクリックし、参照先として追加するメタファイルを指定します。
サーバーの SETVAR 変数を定義するには :
[サーバー変数を定義する] をクリックします。
[名前] に、サーバーを表す変数の名前を入力します。
[値] に、変数が表すサーバーの名前を入力します。
参照先とするデータベースの SETVAR 変数を指定するには :
[データベース変数を定義する] をクリックします。
[名前] に、データベースを表す変数の名前を入力します。
[値] に、変数が表すデータベースの名前を入力します。
データベース プロジェクト内のスキーマ オブジェクトとスクリプトを更新し、サーバー名とデータベース名を、定義した変数で置換するには、[データベース参照変数を使用する既存のスキーマ オブジェクト定義とスクリプトを更新する] チェック ボックスをオンにします。
[OK] をクリックします。
[データベース参照変数を使用する既存のスキーマ オブジェクト定義とスクリプトを更新する] チェック ボックスをオンにしている場合、[変更のプレビュー - サーバー名またはデータベース名の変更] ダイアログ ボックスが表示されます。
(省略可能) 変更を適用しない場合、一覧で、該当する変更の横にあるチェック ボックスをオフにします。
(省略可能) 変更をクリックすると、[変更のプレビュー] ペインにその詳細が表示されます。
[適用] をクリックし、指定したスキーマ オブジェクトとスクリプトを更新します。
オブジェクトとスクリプトは、指定したサーバーやデータベースの名前の代わりに SETVAR 変数を使用するように変更されます。
参照がデータベース プロジェクトに追加されます。
SETVAR 変数の値を更新するには
ソリューション エクスプローラで、更新する SETVAR 変数を含むデータベース プロジェクトをクリックします。
[プロジェクト] メニューの [ProjectName のプロパティ] をクリックします。
[プロパティ] ウィンドウが表示されます。
[参照設定] タブをクリックします。
一覧が開き、参照されるデータベース、そのサーバーおよびデータベース変数、変数の値がすべて表示されます。
[変数の編集] をクリックします。
[参照変数] ダイアログ ボックスが表示されます。
サーバーに関する SETVAR 変数を更新するには、[サーバー変数の値] に、データベース プロジェクトを展開するときに参照するサーバーの名前を入力します。
メモ : この方法で変数の名前を更新できますが、スクリプトやスキーマ オブジェクト定義に存在する変数は更新されません。サーバーまたはデータベースへの参照の名前を変更するには、「方法 : サーバーまたはデータベースへの参照の名前を変更する」を参照してください。
データベースに関する SETVAR 変数の値を更新するには、[データベース変数の値] にデータベース プロジェクトを展開するときに参照するデータベースの名前を入力します。
[OK] をクリックします。
[ファイル] メニューの [すべてを保存] をクリックします。
オブジェクト定義にデータベース間参照を含めるには
Transact-SQL (T-SQL) エディタでオブジェクト定義を開きます。詳細については、「方法 : データベース オブジェクトを作成する」または「方法 : データベース オブジェクトを変更する」を参照してください。
オブジェクト定義に、[$(ServerVariableName)].[$(DatabaseVariableName].[Schema].[ObjectName] という形式でデータベース間参照を含めます。
データベース プロジェクトをビルドして配置すると、SETVAR 変数の値により、それらの変数の値が置換されます。
[ファイル] メニューの [すべてを保存] をクリックします。
参照
処理手順
方法 : サーバーまたはデータベースへの参照の名前を変更する