web-dev-qa-db-fra.com

Comment exécuter un fichier de commandes à partir d'un travail planifié via SQL Server Agent

J'essaie d'exécuter un fichier de commandes (Windows) à partir d'un travail d'agent SQL Server sous SQL Server 2008 R2. Dans les étapes du travail, j'ai créé une nouvelle étape, définissez son type sur "Système d'exploitation (CmdExec)". J'ai d'abord essayé de ne mettre que le nom du fichier de commandes dans le champ "Commande". Il donne une erreur indiquant qu'il ne trouve pas le fichier.

J'ai ensuite essayé: cmd.exe c:\test.bat

Cela commence, mais ne se termine jamais (et il ne semble pas que cela fonctionne de toute façon).

J'ai essayé de mettre le nom du fichier de commandes entre guillemets: cmd.exe "C:\test.bat" mais cela ne fait aucune différence.

Quelle est la combinaison magique pour que cela fonctionne?

12
Paul Mrozowski

Si la mémoire me sert correctement:

cmd.exe /c "c:\test.bat"

Des guillemets sont nécessaires s'il y a des espaces dans le chemin ou le nom de fichier

11
SqlACID

Vérifiez également les autorisations utilisées pour le service Job Agent. Il se peut que l'utilisateur exécutant le service ne soit pas autorisé à voir le fichier.

Bonne chance

1
Dan OBrien

seulement "c:\test.bat" fera le travail

0
Ronald Tims

Vérifiez que vous disposez des autorisations pour exécuter le fichier de commandes sur ce lecteur et l'emplacement du dossier.

N'oubliez pas que lorsque vous l'exécutez manuellement, vos informations d'identification sont utilisées, mais lorsqu'il s'exécute automatiquement par l'Agent SQL, les informations d'identification et les autorisations de l'agent sont utilisées.

0
Phill H