次の方法で共有


複数のサーバーに対してステートメントを同時に実行する

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

この記事では、ローカル サーバー グループ、中央管理サーバー、1 つ以上のサーバー グループ、およびグループ内の 1 つ以上の登録済みサーバーを作成し、完全なグループに対してクエリを実行して、SQL Server で複数のサーバーに対して同時にクエリを実行する方法について説明します。

クエリによって返される結果は、1 つの結果ペインに結合することも、個別の結果ペインで返すことができます。 結果セットには、サーバー名と、各サーバーのクエリで使用されるログインの追加列を含めることができます。 中央管理サーバーと下位サーバーは、Windows 認証のみを使用して登録できます。 ローカル サーバー グループ内のサーバーは、Windows 認証または SQL Server 認証を使用して登録できます。

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

権限

中央管理サーバーによって維持される接続はユーザーのコンテキストで実行されるため、Windows 認証を使用すると、登録済みサーバーに対する有効なアクセス許可が異なる場合があります。 たとえば、ユーザーは、SQL Server A のインスタンスで固定サーバー ロール sysadmin のメンバーである可能性がありますが、SQL Server B のインスタンスに対するアクセス許可は制限されています。

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

  1. SQL Server Management Studio の [表示] メニューの [登録済みサーバー] 選択します。

  2. 中央管理サーバーを展開し、サーバーグループを右クリックして、[接続]にカーソルを合わせてから、[新しいクエリ]を選択します。

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

    USE master
    GO
    SELECT * FROM sys.databases;
    GO
    

    既定では、結果ペインは、サーバー グループ内のすべてのサーバーからのクエリ結果を結合します。

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

  1. Management Studio の [ツール] メニューの [オプション] 選択します。

  2. クエリ結果 を展開し、SQL Server を展開して、マルチサーバーの結果 を選択します。

  3. [マルチサーバー結果] ページで、望むオプション設定を指定し、[OK] を選択します。

関連項目

  • 中央管理サーバーを使用して複数のサーバーを管理する