Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2244
  • Last Modified:

error in moving a file using Operating System[CmdExec], sql agent service account

I am trying to move a .bak file from one folder to another folder using Operating System(CmdExec), sql agent service account in configuring job step properties. In the command line, i have written move command like
ex: move "E:\foldername\*.bak" "F:\foldername"
but the job fails with the error "The process could not be created for step 1 of job 0xEA5D4EF4E6D063791FB533167 (reason: The system cannot find the file specified).
The same move command work's fine in dos command prompt.
What should i check to make sure that the system can find the file location path? or any settings to be changed to share these folders?
 
Thanks,
hari.
0
krishna_harik
Asked:
krishna_harik
  • 3
  • 2
1 Solution
 
reb73Commented:
Are the drives E: and F: local non-removable drives in the server (or in other words network shares mapped as E: or F:)?

Run the following command in SQL Query window to see if the E: and F: drives appear in the list of results -

exec master..xp_fixeddrives

If they don't appear, then you have to use the full UNC path reference (\\server\share\filename.bak) in your job command.. You may also need to ensure that the SQL Agent Service account has full rights on these shares..

0
 
krishna_harikAuthor Commented:
These drives E: and F: are of local non-removable drives. i have run the command
exec master..xp_fixeddrives -- > i could see all the list of drives with available space in it.

how to check whether SQL Agent Service account has full rights on these shares?
Before doing this in production server, i want to test it in my desktop system.
0
 
reb73Commented:
Actually try using the command 'move "E:\foldername\*.bak" "F:\foldername"' within a command batch file (test.bat) and call this batch file from the job step to see if it works..

0
 
krishna_harikAuthor Commented:
reb,

Thank you very much for your assistance, this worked perfectly!
please, write the commands which i need to add in creating a batch file to move the files,  like
ex:
:START
move "E:\foldername\*.bak" "F:\foldername"
IF errorlevel 1 GOTO MKFILE
GOTO :END

:MKFILE
ECHO file text>file.txt
GOTO START

:END
ECHO Quitting
PAUSE

because, this is the first time i created a batch file.
0
 
reb73Commented:
Just a simple Move command on its own within the .bat file should suffice for what you need..

MOVE "E:\foldername\*.bak" "F:\foldername"

If there is a chance that the target file already exists, the command above will fail as it will wait for confirmation in interactive mode. If it is ok to overwrite without confirmation use the following command -

MOVE /Y "E:\foldername\*.bak" "F:\foldername"

If you need the batch file invocation to succeed regardless of whether the source file exists or not, use the IF EXIST check as follows -

IF EXIST "E:\foldername\*.bak" MOVE /Y "E:\foldername\*.bak" "F:\foldername"

The command above will move if the source file exists, and do nothing otherwise..

Optionally you can also use @ECHO OFF as the first line to prevent commands from being echoed/displayed in command window but this is not essential..
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now