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?
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
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
seulement "c:\test.bat"
fera le travail
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.