Estoy intentando ejecutar un archivo por lotes (Windows) desde un trabajo de agente de SQL Server en SQL Server 2008 R2. En los Pasos del trabajo, he creado un nuevo paso, establezco su tipo en "Sistema operativo (CmdExec)". Inicialmente intenté poner solo el nombre del archivo por lotes en el campo "Comando". Da un error que no puede encontrar el archivo.
Luego probé: cmd.exe c: \ test.bat
Esto comienza, pero nunca se completa (y no parece que realmente esté funcionando de todos modos).
Traté de ajustar el nombre del archivo por lotes entre comillas: cmd.exe "C: \ test.bat" pero eso tampoco hace ninguna diferencia.
¿Cuál es la combinación mágica para que esto funcione?
sql-server
sql-server-2008
Paul Mrozowski
fuente
fuente
Respuestas:
Si la memoria me sirve correctamente:
Se necesitan comillas si hay espacios en la ruta o el nombre del archivo
fuente
Además, verifique los permisos utilizados para el Servicio de Agente de Trabajo. Podría ser que el usuario que ejecuta el servicio no tenga permiso para ver el archivo.
Buena suerte
fuente
Compruebe que tiene permisos para ejecutar el archivo por lotes en esa unidad y ubicación de carpeta.
No olvide que cuando lo ejecuta manualmente se usan sus credenciales, pero cuando se ejecuta automáticamente por el Agente SQL, se usan las credenciales y permisos del agente.
fuente
solo
"c:\test.bat"
hará el trabajofuente