複数のサーバーに対してステートメントを同時に実行する方法 (SQL Server Management Studio)

SQL Server 2008 では、複数のサーバーに対してクエリを同時に実行することができます。これを行うには、ローカル サーバー グループ、または 1 つの中央管理サーバーと 1 つ以上のサーバー グループ、およびグループ内の 1 つ以上の登録済みサーバーを作成し、このグループ全体に対してクエリを実行します。クエリから返された結果は、結合して 1 つの結果ペインに表示するか、別々の結果ペインに表示することができます。結果セットには、サーバー名を表示する列と、各サーバーに対するクエリで使用されたログインを表示する列を追加できます。中央管理サーバーおよび従属サーバーは、Windows 認証を使用しないと登録できません。ローカル サーバー グループ内のサーバーは、Windows 認証または SQL Server 認証を使用して登録できます。

注意注意

次の手順を実行する前に、中央管理サーバーとサーバー グループを作成する必要があります。詳細については、「中央管理サーバーとサーバー グループを作成する方法 (SQL Server Management Studio)」を参照してください。

複数の構成対象に対してステートメントを同時に実行するには

  1. SQL Server Management Studio で、[表示] メニューの [登録済みサーバー] をクリックします。

  2. 中央管理サーバーを展開して、サーバー グループを右クリックし、[接続] をポイントして、[新しいクエリ] をクリックします。

  3. クエリ エディタで、次のような Transact-SQL ステートメントを入力して実行します。

    USE master
    GO
    SELECT * FROM sysdatabases;
    GO
    

    既定では、サーバー グループ内のすべてのサーバーからのクエリ結果が結合されて結果ペインに表示されます。

マルチサーバーの結果オプションを変更するには

  1. Management Studio で、[ツール] メニューの [オプション] をクリックします。

  2. [クエリ結果][SQL Server] の順に展開し、[マルチサーバーの結果] をクリックします。

  3. [マルチサーバーの結果] ページで、使用するオプション設定を指定し、[OK] をクリックします。

セキュリティ

中央管理サーバーによって保持される接続は、ユーザーのコンテキスト内で Windows 認証を使用して実行されるため、登録済みサーバーでの有効な権限が変わることがあります。たとえば、SQL Server A のインスタンスでは sysadmin 固定サーバー ロールのメンバであるユーザーでも、SQL Server B のインスタンスでは権限が限られていることがあります。