Come posso eseguire un file batch da un processo pianificato tramite SQL Server Agent


12

Sto tentando di eseguire un file batch (Windows) da un lavoro dell'agente SQL Server in SQL Server 2008 R2. In Job Steps, ho creato un nuovo passaggio, impostando il suo tipo su "Sistema operativo (CmdExec)". Inizialmente ho provato a mettere solo il nome del file batch nel campo "Comando". Dà un errore che non riesce a trovare il file.

Poi ho provato: cmd.exe c: \ test.bat

Questo inizia, ma non si completa mai (e non sembra che stia funzionando comunque).

Ho provato a racchiudere il nome del file batch tra virgolette: cmd.exe "C: \ test.bat" ma anche questo non fa alcuna differenza.

Qual è la combinazione magica per farlo funzionare?


Stavi usando il percorso completo quando hai ricevuto l'errore "file not found"? Il percorso è valido sul server in esecuzione, non solo sulla workstation? I percorsi all'interno del file batch sono assoluti?
Jon of All Trades,

Sì, sto usando il percorso completo. È il percorso corretto sul server che lo esegue. Il file batch non è altro che un semplice test: echo> C: \ temp \ itworks.txt
Paul Mrozowski,

Risposte:


11

Se la memoria mi serve correttamente:

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

Le virgolette sono necessarie se ci sono spazi nel percorso o nel nome del file


1

Controllare anche le autorizzazioni utilizzate per il servizio agente di lavoro. Potrebbe essere che l'utente che esegue il servizio non disponga dell'autorizzazione per visualizzare il file.

In bocca al lupo


0

Verifica di disporre delle autorizzazioni per eseguire il file batch sull'unità e sulla posizione della cartella.

Non dimenticare che quando lo esegui manualmente vengono utilizzate le tue credenziali ma quando viene eseguito automaticamente da SQL Agent, vengono utilizzate le credenziali e le autorizzazioni dell'agente.


0

"c:\test.bat"farà solo il lavoro


1
Ciao, benvenuto nel sito. Mentre la tua risposta può essere utile, di solito è meglio includere alcuni dettagli in più sul perché questo dovrebbe funzionare mentre il comando nella domanda no.
Tom V - prova topanswers.xyz il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.