2009-06-19 4 views
1

J'essaie de comprendre comment créer une procédure stockée SQL Server qui, lorsqu'une condition est remplie, exécute un exécutable, avec des arguments de ligne de commande, sur une machine distante dans le réseau. Je pourrais écrire ma propre petite application de serveur pour gérer la communication envoyée de la procédure stockée pour l'exécutable, mais je ne suis pas certain si la programmation de douille est une option raisonnable avec le serveur sql. Toute direction serait utile.Sql Server 2005 exécutant exe sur l'ordinateur distant ou se connecter à l'application serveur

Répondre

1

Vous auriez besoin d'une application côté serveur de toute façon, même si cette application étaient SQL Server de

Quelque chose comme rsh pourrait faire - avoir votre instance SQL locale appeler xp_cmdshell avec une commande rsh (ou un fichier batch), se connectant au serveur distant et exécutant la commande.

Si vous avez SQL sur la machine distante, ce serait beaucoup plus facile; appelez une procédure stockée sur cette machine à partir de la machine locale, et laissez cette procédure stockée faire le travail (peut-être besoin de bidouiller avec des proxies et "exécuter comme"). Une troisième option consisterait à créer une procédure stockée .NET et à effectuer votre programmation de socket ou votre invocation à distance à partir de là - elle est en cours de traitement, vous bénéficiez donc des mêmes avantages en termes de performances et de sécurité dans T-SQL plutôt que de passer à un cmdshell avec tout le désordre que cela implique.

+0

Je reçois des messages d'erreur "Impossible d'établir la connexion". Dois-je configurer certaines choses sur la machine hôte? – Kevin

+0

ignorer mon dernier commentaire, je fais quelque chose de mal. Laissez-moi continuer à essayer – Kevin

+0

J'ai eu la commande rsh pour fonctionner. C'est génial. Mes autres idées auraient impliqué beaucoup plus de travail et un processus beaucoup plus lent. – Kevin

Questions connexes