Partager via


Exécuter des instructions sur plusieurs serveurs simultanément dans SQL Server Management Studio

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Cet article explique comment interroger plusieurs serveurs en même temps dans SQL Server, en créant un groupe de serveurs local ou un serveur d’administration centrale (CMS) et un ou plusieurs groupes de serveurs. Il doit y avoir un ou plusieurs serveurs inscrits au sein des groupes, et les requêtes peuvent être exécutées sur un groupe unique ou plusieurs groupes.

Les résultats retournés par la requête peuvent être combinés dans un seul volet de résultats, ou ils peuvent être retournés dans des volets de résultats distincts. Le jeu de résultats peut inclure des colonnes supplémentaires qui fournissent le nom du serveur qui a produit chaque ligne et la connexion utilisée pour se connecter au serveur qui a fourni chaque ligne.

Autorisations

Étant donné que les connexions aux serveurs gérés par un CMS sont effectuées dans le contexte de l’utilisateur, les autorisations effectives sur les serveurs inscrits peuvent varier. Par exemple, l’utilisateur peut être membre du rôle serveur fixe sysadmin sur l’instance de SQL Server A, mais dispose d’autorisations limitées sur l’instance de SQL Server B.

Lorsque les requêtes sont exécutées dans un éditeur de requête, elles s’exécutent sur tous les serveurs du groupe à l’aide des informations de connexion fournies par l’utilisateur. Les serveurs inscrits auprès de l’authentification SQL Server qui n’ont pas de mot de passe enregistré ne parviennent pas à se connecter.

Exécuter des instructions sur plusieurs cibles de configuration simultanément

Si la fenêtre de l’outil Serveurs inscrits n’est pas visible dans SQL Server Management Studio, sélectionnez Afficher les>serveurs inscrits ou tapez Ctrl + Alt + G.

  1. Développez le moteur de base de données, puis les serveurs d’administration centrale et recherchez le groupe de serveurs qui contient les serveurs que vous souhaitez interroger.

  2. Cliquez avec le bouton droit sur le groupe de serveurs et sélectionnez Nouvelle requête.

  3. Dans l’Éditeur de requête, le nombre de serveurs connectés s’affiche en bas à gauche de la barre d’état en tant que Connected. (4/4).

    • Le premier nombre est les connexions actives. Le deuxième nombre est le nombre de serveurs inscrits dans le groupe.
    • Si la connexion à un serveur échoue, aucun message d’erreur n’est affiché.
  4. Dans l’Éditeur de requête, entrez, puis exécutez une instruction Transact-SQL, comme l’exemple suivant :

    SELECT
        @@VERSION AS [ProductVersion],
        SERVERPROPERTY('Edition') AS [Edition];
    GO
    
  5. Par défaut, le volet de résultats combine les résultats de la requête de tous les serveurs du groupe de serveurs dans une grille de résultats unique.

Modifier les options de résultats multiserveur

  1. Dans SQL Server Management Studio, sélectionnez Outils>Options>Résultats des requêtes>SQL Server>Résultats Multiserveur.

  2. Modifiez l’option en fonction de vos préférences.

    Choix Valeur par défaut Définition
    Ajouter le nom de connexion aux résultats Faux Ajoute une colonne dans les résultats de la requête qui affiche le nom de la connexion connectée au serveur.
    Ajouter le nom du serveur aux résultats Vrai Ajoute une colonne dans les résultats de la requête qui affiche le nom du serveur qui produit la ligne.
    Résultats de fusion Vrai Affiche les résultats de tous les serveurs dans la même grille de résultats.
  3. Sélectionnez OK pour enregistrer vos modifications.