次の方法で共有


ダイアログ ボックス

 

このトピックでは、[データベース参照の追加] ダイアログ ボックスで実行できる手順について説明します。

データベース参照を使用すると、次のことが可能になります。

  • 他のオブジェクトへのアクセス。
    各プロジェクトでは、3 部構成または 4 部構成の名前の解決を使用して、任意のサーバー上の別のデータベースを参照できます。参照用に 3 部構成または 4 部構成の名前を使用する場合は、SQLCMD 変数を使用すると、複数のサーバーおよびデータベースでも参照を正しく使用できます。

  • 複数データベース プロジェクトによる複合ソリューションの作成。
    複合プロジェクトでデータベース参照を使用すると、大きなデータベースが複数のプロジェクトに分割されます。データベースまたはサーバーを表す変数や値を含まない参照を作成してください (1 部構成または 2 部構成の名前のみを使用)。

データベース参照は、現在のソリューション内のデータベース プロジェクトを対象にすることも、DACPAC を対象にすることもできます。データベース参照をプロジェクトに追加すると、プロジェクトの依存関係とビルド順序が変わります。

参照するデータベースの選択

参照の対象として、同じソリューション内の別のデータベース プロジェクト、システム データベース、または DACPAC を選択できます。

ソリューション内に複数のデータベース プロジェクトがある場合は、[現在のソリューションのデータベース プロジェクト] が有効になります。ソリューション内の別のデータベースを参照することもできます。

いずれかのシステム データベースをデータベース参照として指定する場合は、[システム データベース] を選択します。

DACPAC 内のデータベースを参照するには [データ層アプリケーション (.dacpac)] を選択し、DACPAC ファイルのあるディレクトリに移動します。

データベースの相対的な場所の選択

参照するデータベースを選択した後に、参照するプロジェクトに対して相対的な、データベース オブジェクトの場所を指定できます。

参照は、次の場所のいずれかのオブジェクトに対して解決できます。

  • 参照元のデータベース内。

  • 同じサーバー上にある、参照元以外のデータベース内。

  • 別のサーバー上にある、参照元以外のデータベース内。

データベース名を使用してください。[システム データベース] を選択する場合は、システム データベースのリテラルは変更しないでください。[現在のソリューションのデータベース プロジェクト] を選択する場合は、データベースの既定の名前はプロジェクトのデータベース名を使用します。

[異なるデータベース、異なるサーバー] を選択する場合は、サーバー名を指定します。

(SQLCMD) データベース変数を使用できます。変数 (リテラル名ではなく) を使用してデータベースを参照する場合は、既定のデータベース変数名を使用することも、変更することもできます。複数のサーバーおよびデータベースのデータベース プロジェクトを公開するには、データベース変数を使用すると便利です。このとき、開発者はプロジェクトのプロパティ ページの [SQLCMD 変数] で、データベースのローカル名を指定できます。[データベース変数] を空白にした場合、データベースの参照に使用できるのはリテラル名のみになります。データベース変数名を指定した場合、データベースをリテラル名で参照することはできません。

[異なるデータベース、異なるサーバー] を選択した場合は、(SQLCMD) サーバー変数が必要になります。複数のサーバーおよびデータベースのデータベース プロジェクトを公開するには、サーバー変数を使用すると便利です。このとき、開発者はプロジェクトのプロパティ ページの [SQLCMD 変数] で、サーバーのローカル名を指定できます。サーバーの参照に使用できるのは変数のみです。サーバー名で参照することはできません。

重要

状況によっては、既存のデータベース参照と同じ名前を持つデータベース参照を作成できます。ただし、同じ名前を持つデータベース参照が 2 つあると、予期しない動作を招く可能性があります。このような場合は、両方のデータベース参照を削除します。

一般的な手順

一般的な手順は次のとおりです。

同じサーバー上のデータベースへの参照を作成するには

  1. ソリューション エクスプローラーで、[参照] を右クリックし、[データベース参照の追加] を選択します。

  2. [データベース参照の追加] ダイアログ ボックスで、[データベースの場所] として [異なるデータベース、同じサーバー] を指定します。

  3. データベースの名前を指定します。

  4. データベース変数を使用するかどうかを決定します。

  5. 使用例をコピーして、.sql に貼り付けます。使用例の中で、[Schema1] を実際のスキーマ名 ([dbo] など) に変更します。また、プロジェクトに適したデータベースの名前に変更します。

  6. ソリューションをビルドします。

別のサーバー上のデータベースへの参照を作成するには

  1. ソリューション エクスプローラーで、[参照] を右クリックし、[データベース参照の追加] を選択します。

  2. [データベース参照の追加] ダイアログ ボックスで、[データベースの場所] として [異なるデータベース、異なるサーバー] を指定します。

  3. データベース名に誤りがないことを確認します。

  4. データベース変数を使用するかどうかを決定します。

  5. サーバーの名前とサーバー変数を指定します。

  6. 使用例をコピーして、.sql に貼り付けます。使用例の中で、[Schema1] を実際のスキーマ名 ([dbo] など) に変更します。また、プロジェクトに適したデータベースの名前に変更します。

  7. ソリューションをビルドします。

複合プロジェクトを作成するには

  1. ソリューション エクスプローラーで、[参照] を右クリックし、[データベース参照の追加] を選択します。

  2. 参照するデータベースのソースを選択します (ソリューションのプロジェクトまたは DACPAC)。

  3. [データベース参照の追加] ダイアログ ボックスで、[データベースの場所] として [同じデータベース] を指定します。

  4. 使用例をコピーして、.sql に貼り付けます。使用例の中で、[Schema1] を実際のスキーマ名に変更します。また、プロジェクトに適したデータベースの名前に変更します。

  5. ソリューションをビルドします。

このプロジェクトを公開する場合、1 つのターゲットに同じソリューションの複合プロジェクトを配置できます。

  1. ソリューション エクスプローラーでプロジェクト名を右クリックし、[公開] をクリックして [データベースの公開] ダイアログ ボックスを表示します。

  2. [データベースの公開] ダイアログ ボックスで、[詳細設定] をクリックします。

  3. [公開の詳細設定] ダイアログ ボックスで、[配置の詳細設定オプション][複合オブジェクトを含めます (データベース ターゲットのみ)] がオンになっていることを確認します。

参照

プロジェクト指向のオフライン データベース開発