Jak uruchomić plik wsadowy z zaplanowanego zadania za pośrednictwem agenta SQL Server

12

Próbuję uruchomić plik wsadowy (Windows) z zadania agenta SQL Server w SQL Server 2008 R2. W Job Steps utworzyłem nowy krok, ustawiłem jego typ na „System operacyjny (CmdExec)”. Początkowo próbowałem umieścić tylko nazwę pliku wsadowego w polu „Command”. Daje błąd, że nie można znaleźć pliku.

Potem próbowałem: cmd.exe c: \ test.bat

To się zaczyna, ale nigdy się nie kończy (i nie wygląda na to, że i tak działa).

Próbowałem zawinąć nazwę pliku wsadowego w cudzysłów: cmd.exe „C: \ test.bat”, ale to też nie robi żadnej różnicy.

Jaka jest magiczna kombinacja, aby to zadziałało?

Paweł Mrozowski
źródło
Czy używałeś pełnej ścieżki, gdy pojawił się błąd „nie znaleziono pliku”? Czy ścieżka jest poprawna na serwerze wykonawczym, a nie tylko na stacji roboczej? Czy ścieżki w pliku wsadowym są bezwzględne?
Jon of All Trades,
Tak, używam pełnej ścieżki. Jest to poprawna ścieżka na serwerze, na którym jest uruchomiony. Plik wsadowy jest niczym innym jak prostym testem: echo> C: \ temp \ itworks.txt
Paul Mrozowski

Odpowiedzi:

11

Jeśli pamięć służy mi poprawnie:

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

Cytaty są potrzebne, jeśli w ścieżce lub nazwie pliku znajdują się spacje

SqlACID
źródło
1

Sprawdź także uprawnienia używane dla usługi Job Agent. Możliwe, że użytkownik prowadzący usługę nie ma uprawnień do wyświetlania pliku.

Powodzenia

Dan OBrien
źródło
0

Sprawdź, czy masz uprawnienia do uruchomienia pliku wsadowego na tym dysku i lokalizacji folderu.

Nie zapomnij, jeśli uruchomisz go ręcznie, twoje poświadczenia zostaną użyte, ale gdy uruchomi się automatycznie przez agenta SQL, zostaną użyte poświadczenia i uprawnienia agenta.

Phill H.
źródło
0

tylko "c:\test.bat"wykona zadanie

Ronald Tims
źródło
1
Cześć, Witam na stronie. Chociaż Twoja odpowiedź może być przydatna, zwykle lepiej jest podać więcej szczegółów, dlaczego to zadziała, podczas gdy polecenie w pytaniu nie działa.
Tom V - spróbuj topanswers.xyz