Hi All,
I've written a batch script to automatically import the latest backup from another server. Both are running the same version of SQL Exptress 2008. If I run the script via the command prompt it works but if I run it via scheduled jobs it fails with the following error:
Msg 3201, Level 16, State 2, Server GSP-UKBS-SNMP02\WHATSUP, Line 1 Cannot open backup device 'D:\WUGData\backups\'. Operating system error 3(The system cannot find the path specified.). Msg 3013, Level 16, State 1, Server GSP-UKBS-SNMP02\WHATSUP, Line 1 RESTORE DATABASE is terminating abnormally.
The script I've written is(please be gentle this is my 3rd batch script):
@echo off FOR %%A IN (%Date:/=%) DO SET Today=%%A echo. | date | FIND "(mm" > NUL If errorlevel 1,(call :Parsedate DD MM) Else,(call :Parsedate MM DD) goto :EOF :Parsedate ---------------------------------------------------------- For /F "tokens=1-4 delims=/.- " %%A in ('date /T') do if %%D!==! ( set %1=%%A&set %2=%%B&set YYYY=%%C ) else ( set DOW=%%A&set %1=%%B&set %2=%%C&set YYYY=%%D) (Set DateStamp=%YYYY%%MM%%DD%) echo today datestamp is: %DateStamp% >> D:\WUGData\backups\logs\%DateStamp%_log.txt :CHKFILE IF EXIST "D:\WUGData\backups\NFArchive_Full_%DateStamp%.bak" ( SET NetFlow=Netflow_Full_%DateStamp%.bak SET NFArchive=NFArchive_Full_%DateStamp%.bak SET WhatsUp=WHatsUp_Full_%DateStamp%.bak echo %DATE% %TIME% - Start Netflow SQL Import >> D:\WUGData\backups\logs\%DateStamp%_log.txt SqlCmd -E -S GSP-UKBS-SNMP02\WHATSUP -d master -Q "RESTORE DATABASE [Netflow] FROM DISK='D:\WUGData\backups\%NetFlow%' WITH RECOVERY, REPLACE, MOVE 'Netflow' TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.WHATSUP\MSSQL\DATA\Netflow.mdf', MOVE 'Netflow_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.WHATSUP\MSSQL\DATA\Netflow.ldf', STATS = 10" >> D:\WUGData\backups\logs\%DateStamp%_log.txt echo %DATE% %TIME% - Completed Netflow SQL Import >> D:\WUGData\backups\logs\%DateStamp%_log.txt echo %DATE% %TIME% - Start NFArchive SQL Import >> D:\WUGData\backups\logs\%DateStamp%_log.txt SqlCmd -E -S GSP-UKBS-SNMP02\WHATSUP -d master -Q "RESTORE DATABASE [NFArchive] FROM DISK='D:\WUGData\backups\%NFArchive%' WITH RECOVERY, REPLACE, MOVE 'NFArchive' TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.WHATSUP\MSSQL\DATA\NFArchive.mdf', MOVE 'NFArchive_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.WHATSUP\MSSQL\DATA\NFArchive.ldf', STATS = 10" >> D:\WUGData\backups\logs\%DateStamp%_log.txt echo %DATE% %TIME% - Completed NFArchive SQL Import >> D:\WUGData\backups\logs\%DateStamp%_log.txt echo %DATE% %TIME% - Start WhatsUp SQL Import >> D:\WUGData\backups\logs\%DateStamp%_log.txt SqlCmd -E -S GSP-UKBS-SNMP02\WHATSUP -d master -Q "RESTORE DATABASE [WhatsUp] FROM DISK='D:\WUGData\backups\%WhatsUp%' WITH RECOVERY, REPLACE, MOVE 'WhatsUp' TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.WHATSUP\MSSQL\DATA\WhatsUp.mdf', MOVE 'WhatsUp_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.WHATSUP\MSSQL\DATA\WhatsUp.ldf', STATS = 10" >> D:\WUGData\backups\logs\%DateStamp%_log.txt echo %DATE% %TIME% - Completed WhatsUp SQL Import >> D:\WUGData\backups\logs\%DateStamp%_log.txt echo %DATE% %TIME% - SQL Import complete >> D:\WUGData\backups\logs\%DateStamp%_log.txt ) ELSE ( echo %DATE% %TIME% - Backup not ready for import, waiting 30min before retry. >> D:\WUGData\backups\logs\%DateStamp%_log.txt TIMEOUT /T 10 /NOBREAK GOTO CHKFILE )
Any help would be much appreciated.