Як запустити пакетний файл із запланованої роботи через агент SQL Server


12

Я намагаюся запустити пакетний файл (Windows) із завдання агента SQL Server під SQL Server 2008 R2. У Job Steps я створив новий крок, встановив його тип на "Операційна система (CmdExec)". Я спочатку намагався в поле "Команда" поставити лише ім'я пакетного файлу. Це дає помилку, що він не може знайти файл.

Потім я спробував: cmd.exe c: \ test.bat

Це починається, але ніколи не закінчується (і не виглядає так, що все одно працює).

Я спробував обернути ім'я пакетного файлу в лапки: cmd.exe "C: \ test.bat", але це також не має ніякої різниці.

Яке магічне поєднання змушує це працювати?


Чи використовували ви повний шлях, коли ви отримали помилку "файл не знайдено"? Чи дійсний шлях на сервері виконання, а не лише на вашій робочій станції? Чи абсолютні шляхи в пакетному файлі?
Йон усіх торгів

Так, я використовую повний шлях. Це правильний шлях на сервері, на якому він працює. Пакетний файл - це не що інше, як простий тест: echo> C: \ temp \ itworks.txt
Пол Мрозовський

Відповіді:


11

Якщо пам'ять служить мені правильно:

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

Цитати потрібні, якщо в шляху чи імені файлів є пробіли


1

А також перевірте дозволи, які використовуються для служби Job Agent. Можливо, користувач, що працює у службі, не має дозволу переглядати файл.

Щасти


0

Перевірте, чи є у вас дозволи на запуск пакетного файлу на цьому диску та в папці.

Не забувайте, коли ви запускаєте його вручну, використовуються ваші облікові дані, але коли він запускається автоматично агентом SQL, використовуються облікові дані та дозволи агента.


0

тільки "c:\test.bat"зробить роботу


1
Привіт, Ласкаво просимо на сайт. Хоча ваша відповідь може бути корисною, зазвичай краще включити ще кілька деталей щодо того, чому це буде працювати, поки команда у запитанні не відповідає.
Том V - спробуйте topanswers.xyz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.