Copy files from another server to my computer with robocopy and job

  • hello all.

    I have one job for copy files from another server to my computer using Robocopy.but when I execute my job in sql server I get this error:

    Accessing Source Directory \\192.168.101.191\Upload\

    Access is denied.

    this is my job:

    USE [msdb]

    GO

    /****** Object: Job [Test] Script Date: 02/04/2015 13:08:00 ******/

    BEGIN TRANSACTION

    DECLARE @ReturnCode INT

    SELECT @ReturnCode = 0

    /****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 02/04/2015 13:08:00 ******/

    IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)

    BEGIN

    EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'

    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    END

    DECLARE @jobId BINARY(16)

    EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Test',

    @enabled=1,

    @notify_level_eventlog=0,

    @notify_level_email=0,

    @notify_level_netsend=0,

    @notify_level_page=0,

    @delete_level=0,

    @description=N'No description available.',

    @category_name=N'[Uncategorized (Local)]',

    @owner_login_name=N'sa', @job_id = @jobId OUTPUT

    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    /****** Object: Step [FarzinSyncDatabaseAndUpload1] Script Date: 02/04/2015 13:08:00 ******/

    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'FarzinSyncDatabaseAndUpload1',

    @step_id=1,

    @cmdexec_success_code=0,

    @on_success_action=3,

    @on_success_step_id=0,

    @on_fail_action=3,

    @on_fail_step_id=0,

    @retry_attempts=0,

    @retry_interval=0,

    @os_run_priority=0, @subsystem=N'CmdExec',

    @command=N'Robocopy \\192.168.101.191\Upload D:\Test/e /s /log:D:\Test\BackupLog.txt',

    @flags=0

    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    /****** Object: Step [FarzinSyncDatabaseAndUpload2] Script Date: 02/04/2015 13:08:00 ******/

    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'FarzinSyncDatabaseAndUpload2',

    @step_id=2,

    @cmdexec_success_code=0,

    @on_success_action=1,

    @on_success_step_id=0,

    @on_fail_action=1,

    @on_fail_step_id=0,

    @retry_attempts=0,

    @retry_interval=0,

    @os_run_priority=0, @subsystem=N'CmdExec',

    @command=N'Robocopy D:\Test E:\Test /e /s /log:E:\Test\BackupLog.txt',

    @output_file_name=N'E:\Test\OutputLog.txt',

    @flags=0

    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1

    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'FarzinSyncDatabaseAndUpload',

    @enabled=1,

    @freq_type=4,

    @freq_interval=1,

    @freq_subday_type=8,

    @freq_subday_interval=1,

    @freq_relative_interval=0,

    @freq_recurrence_factor=0,

    @active_start_date=20140611,

    @active_end_date=99991231,

    @active_start_time=0,

    @active_end_time=235959,

    @schedule_uid=N'c4574365-7823-42f2-9a73-663552d3de02'

    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'

    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    COMMIT TRANSACTION

    GOTO EndSave

    QuitWithRollback:

    IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION

    EndSave:

    GO

    Should I create Credential and proxy?How can I do this?Would you mind giving me required scripts for this?

    thanks

  • hello all.

    when I run sql server agent under administrator account, step 1 worked successfully but step 2 was failed.in step 2 I have to copy files from my computer to another server(Y drive) which this drive can appear in my computer.when I run Robocopy D:\FarzinBackUp Y:\FarzinBackUp /e /s /log:Y:\FarzinBackUp\DataBase\Log\BackupLog.txt in cmd It works but It dosent work via job.

    how can I run step 2 in my job?please guide me.thanks

  • Use proxy account for step 2, you could use local account (need the same name and password on both servers) or domain account if applicable.

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply