Ich versuche, eine (Windows-) Batchdatei in einem SQL Server-Agent-Job unter SQL Server 2008 R2 auszuführen. In den Auftragsschritten habe ich einen neuen Schritt erstellt und dessen Typ auf "Betriebssystem (CmdExec)" gesetzt. Ich habe anfangs versucht, nur den Batch-Dateinamen in das Feld "Befehl" zu schreiben. Es gibt einen Fehler, dass die Datei nicht gefunden werden kann.
Dann habe ich versucht: cmd.exe c: \ test.bat
Dies beginnt, endet aber nie (und es sieht sowieso nicht so aus, als würde es tatsächlich funktionieren).
Ich habe versucht, den Batch-Dateinamen in Anführungszeichen zu setzen: cmd.exe "C: \ test.bat", aber das macht auch keinen Unterschied.
Was ist die magische Kombination, um dies zum Laufen zu bringen?
sql-server
sql-server-2008
Paul Mrozowski
quelle
quelle
Antworten:
Wenn das Gedächtnis mir recht gibt:
Anführungszeichen sind erforderlich, wenn der Pfad oder der Dateiname Leerzeichen enthält
quelle
Überprüfen Sie auch die Berechtigungen, die für den Job Agent-Dienst verwendet werden. Möglicherweise hat der Benutzer, der den Dienst ausführt, keine Berechtigung zum Anzeigen der Datei.
Viel Glück
quelle
Vergewissern Sie sich, dass Sie über die Berechtigungen zum Ausführen der Batchdatei auf diesem Laufwerk und in diesem Ordner verfügen.
Vergessen Sie nicht, wenn Sie es manuell ausführen, werden Ihre Anmeldeinformationen verwendet. Wenn es jedoch automatisch von SQL Agent ausgeführt wird, werden die Anmeldeinformationen und Berechtigungen des Agenten verwendet.
quelle
nur
"c:\test.bat"
wird den Job machenquelle