Dear Stackoverflow users,
I have a SQL Agent Job which generates a specific report in PDF-file and then copies the PDF to a network directory and then deletes the PDF file in the source directory.
The SQL Jobs consists of 2 steps: 1. Generate the report 2. Copy the report to the network location.
For step 2 I made a bat-file which handles the copying and removal of the pdf file.
The bat-file is as follows:
set source_dir=C:\Reports\Energie\Uur
set dest_dir=\\KWS2-WEB-SERVER\Share\Reports\Uur
C:\Windows\System32\Robocopy.exe %source_dir% %dest_dir% /MOV /Z
However, when I run my the Job, it hangs on the second step. The status just stays on "Executing".
This is the line which I stated in the step (location of the bat-file to execute):
cmd.exe /c "C:\Reports\rapport_uur_copy.bat"
My job-settings are as follows:
Step 1
Type: Operating system (CmdExec) On Success: Go to the next step
On Failure: Quit the job reporting failure
Step 2
Type: Operating system (CmdExec)
On Success: Quit the job reporting success
On Failure: Quit the job reporting failure
Some facts:
Thanks in advance!
when a batch script needs to use drives not local, eg shares it always needs special rights, means you need to use an account to run the script which is allowed to log on as batch task in secpol
- (click start type secpol.msc and start it - Select "Local Policies" in MSC snap in - Select "User Rights Assignment" - Right click on "Log on as batch job" and select Properties - Click "Add User or Group", and include the relevant user.)
too in normal batch it is not possible to use \\drives
, they have to get mapped as drives with a char e.g. V:\drive
and this mapping got to be made by the batch itself
with the user account used running the batch
i experienced this in a script of mine.