Pokouším se spustit dávkový soubor (Windows) z úlohy agenta serveru SQL Server pod serverem SQL Server 2008 R2. V části Kroky úlohy jsem vytvořil nový krok a jeho typ nastavil na „Operační systém (CmdExec)“. Zpočátku jsem se pokusil vložit do pole „Příkaz“ pouze název dávkového souboru. Dává chybu, že soubor nemůže najít.
Potom jsem vyzkoušel: cmd.exe c:\test.bat
To začíná, ale nikdy nedokončí (a nevypadá to, že by to vlastně fungovalo).
Snažil jsem se zabalit název dávkového souboru do uvozovek: cmd.exe "C:\test.bat", ale to také nijak nezmění.
Jaká je magická kombinace, aby to fungovalo?
Pokud mi paměť slouží správně:
cmd.exe /c "c:\test.bat"
Pokud jsou v cestě nebo názvu souboru mezery, jsou zapotřebí uvozovky
Rovněž zkontrolujte oprávnění použitá pro službu Job Agent Service. Je možné, že uživatel provozující službu nemá oprávnění k prohlížení souboru.
Hodně štěstí
pouze "c:\test.bat"
provede úlohu
Zkontrolujte, zda máte oprávnění ke spuštění dávkového souboru na dané jednotce a umístění složky.
Nezapomeňte, když je spustíte ručně, vaše pověření jsou použita, ale když je spuštěna automaticky agentem SQL, použijí se pověření a oprávnění agenta.