インスタンス間のメッセージ交換の完了

このチュートリアルは、Service Broker は初めて使用するが、データベースの概念と Transact-SQL ステートメントについては理解しているユーザーを対象としています。ここでは初心者のユーザーを対象に、データベース エンジンの独立したインスタンス上の 2 つのデータベース間で簡単なメッセージ交換を構築および実行する方法を紹介します。

学習する内容

このチュートリアルは、「データベース間のメッセージ交換の完了」で学習した作業に基づいています。このチュートリアルでは、データベース エンジンの 2 つのインスタンス間で実行されるようにメッセージ交換を構成する方法を学習します。

このチュートリアルで実行する手順は、「データベース間のメッセージ交換の完了」のチュートリアルで実行する手順と同じですが、次の違いがあります。

  • 2 つのデータベースは、データベース エンジンの独立したインスタンス上に存在します。

  • Service Broker のエンドポイントおよびルートを作成し、2 つのインスタンス間にネットワーク接続を確立する方法を学習します。

  • 前のチュートリアルでは、ネットワーク上でメッセージを送信しませんでした。そのため、データベース エンジンの権限を使用して、メッセージへの不正アクセスを防いでいました。レッスン 3 では、証明書とリモート サービス バインドを作成し、ネットワーク上でメッセージを暗号化する方法を学習します。

このチュートリアルでは、発信側データベースを含むデータベース エンジンのインスタンスを、発信側インスタンスと呼びます。発信先データベースを含むインスタンスを、発信先インスタンスと呼びます。

このチュートリアルは、次の 6 つのレッスンで構成されています。

必要条件

このチュートリアルを完了するには、Transact-SQL 言語と、SQL Server Management Studio のデータベース エンジン クエリ エディタの使用方法についての知識が必要です。

データベース エンジンの 2 つのインスタンスをインストールする必要があります。2 つのインスタンスが独立したコンピュータ上に存在する場合、各インスタンスには常にインスタンスと同じコンピュータ上の Management Studio のコピーから接続します。たとえば、発信先コンピュータ上の Management Studio のコピーから発信側インスタンスに接続しないでください。

両方のインスタンスで承認された単一のログインが必要です。このチュートリアルを実行するには、両方のインスタンスで、ログインが sysadmin 固定サーバー ロールのメンバであるか、次の権限を保持している必要があります。

  • ALTER ANY LINKED SERVER

  • CREATE ENDPOINT

  • CREATE DATABASE、CREATE ANY DATABASE、ALTER ANY DATABASE 権限のうちの少なくとも 1 つ

データベース エンジンのそれぞれのインスタンスは、他方のインスタンスで有効なログインである Windows アカウントの下で実行する必要があります。

両方のシステムには次のコンポーネントがインストールされている必要があります。

  • SQL Server 2005 または SQL Server 2008 の任意のエディション (ただし、SQL Server Express Edition を使用できるのは一方のインスタンスのみ)

  • SQL Server Management Studio または Management Studio Express

  • Internet Explorer 6 以降

両方のシステムのファイアウォールは、UDP ポート 1434 と TCP ポート 1433 および 4022 への接続を許可するように構成する必要があります。構成マネージャ ツールを使用して、両方のインスタンスが TCP/IP 接続を許可し、両方のコンピュータで SQL Server Browser サービスを実行します。

注意注意

チュートリアルを行うときは、ドキュメント ビューアのツール バーに [次のトピック] ボタンと [前のトピック] ボタンを追加することをお勧めします。詳細については、「ヘルプへの [次のトピック] ボタンと [前のトピック] ボタンの追加」を参照してください。