Requete multi serveur

Requête multi serveurs avec SSMS

Dans le métier de DBA ou de développeur, il arrive d’avoir besoin d’exécuter une même requête sur plusieurs instances SQL Server. On pourrait se connecter sur chaque instance et exécuter la requête manuellement mais SQL Server Management Studio offre une possibilité bien pratique : la requête multi serveurs.

Registered Servers

Tout d’abord, dans les prérequis, il faut enregistrer les instances SQL dans les Registered Servers de SSMS.

Pour afficher cette fenêtre, il faut l’activer dans le menu « View » puis « Registered Servers ».

Dans mon exemple, je vais créer un groupe nommé « TEST » :

New Server Group

Add New Server Group

Dans ce groupe, je vais enregistrer quelques instances :

New Server Registration

Add New Server Registration

J’obtiens donc ceci :

Registered ServersExécuter une requête multi serveurs

Maintenant que j’ai un groupe d’instance, je peux exécuter une requête multi serveurs. Je vais exécuter une requête simple pour vérifier que mes 4 serveurs sont bien tous à la même heure.

New Query

En cliquant sur « New Query », cette fenêtre s’ouvre. C’est le requêteur habituel SSMS mais ils y a quelques différences:

New Query Windows

La couleur du bandeau est rose/rouge pour bien montrer que je suis connecté à plusieurs serveurs. J’ai un « various logins » car j’utilise des logins différents sur chaque serveur.

newquerymultiresult

En plus d’afficher l’heure, SSMS a inséré une colonne « Server Name ».

Bien évidemment, on pourrait exécuter des requêtes ou procédures plus complexes. Je vous laisse imaginer les possibilités…