Vous ne pouvez normalement pas éviter de boucler puisque vous appelez EXEC, ce qui ne peut pas être fait comme une opération basée sur SET; il faut le faire un par un.
Si vous voulez simplement éviter CURSOR en général, vous pouvez l'implémenter en utilisant une boucle WHILE.
Sinon, une autre option consiste à utiliser une instruction SELECT + FOR XML qui construit les instructions EXEC comme une seule instruction NVARCHAR(MAX) dans une variable, puis EXEC uniquement ce SQL dynamique.