Bonjour à tous,

J'utilise le mode SQLCMD pour me connecter à 40 instances, il y a beaucoup à faire et je dois le faire partout.

Pour gagner du temps, j'ai fait une liste de toutes mes instances et pour le moment, je colle mon code à executer en dessous de chaque :connect xxxxx\xxxxx

Ce qui donne par exemple

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
:connect xxxxx\instance01
 
EXEC sp_MSforeachdb 'EXEC [?]..sp_changedbowner ''sa'''  
GO
 
:connect xxxxx\instance02
 
EXEC sp_MSforeachdb 'EXEC [?]..sp_changedbowner ''sa'''
GO
Ce qui n'est pas pratique évidemment si je fais une erreur dans ma query.

Est-il possible de faire qqchose comme ça ? Si oui, en T/SQL avec une boucle ou en powershell ou autres ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
:connect xxxxx\instance01
:connect xxxxx\instance02
EXEC sp_MSforeachdb 'EXEC [?]..sp_changedbowner ''sa'''
Merci beaucoup
Jean-Luc