SQL Server 作业的备份(备份作业非备份数据库)

2020-07-10 08:06:41易采站长站整理

,@delete_level = sv.delete_level
,@jobId = sv.job_id
,@start_step_id = start_step_id
,@server = originating_server
FROM msdb.dbo.sysjobs_view AS sv
WHERE (sv.name=@jobname and sv.category_id=0)

PRINT ‘DECLARE @jobId BINARY(16)’
PRINT ‘EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N”’+@jobname+”’,’
PRINT ‘ @enabled=’+RTRIM(@isenable)+’, ‘
PRINT ‘ @notify_level_eventlog=’+RTRIM(@EventLogLevel)+’, ‘
PRINT ‘ @notify_level_email=’+RTRIM(@EmailLevel)+’, ‘
PRINT ‘ @notify_level_netsend=’+RTRIM(@NetSendLevel)+’, ‘
PRINT ‘ @notify_level_page=’+RTRIM(@PageLevel)+’, ‘
PRINT ‘ @notify_email_operator_name =”’+RTRIM(@EmailLeveloprid)+”’, ‘
PRINT ‘ @notify_netsend_operator_name=”’+RTRIM(@NetSendLeveloprid)+”’, ‘
PRINT ‘ @notify_page_operator_name=”’+RTRIM(@PageLeveloprid)+”’, ‘
PRINT ‘ @delete_level=’+RTRIM(@delete_level)+’, ‘
PRINT ‘ @description=N”’+@description+”’, ‘
PRINT ‘ @category_name=N”’+@category_name+”’, ‘
PRINT ‘ @owner_login_name=N”’+@owner_log_name+”’, ‘
PRINT ‘ @job_id = @jobId OUTPUT’
PRINT ‘IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback’
–SELECT * FROM msdb.dbo.syscategories
DECLARE @step_id INT
declare @step_name nvarchar(512) ,@cmdexec_success_code INT,@on_success_action INT,@on_success_step_id INT
,@on_fail_action INT,@on_fail_step_id INT,@retry_attempts INT,@retry_interval INT,@os_run_priority INT
,@subsystem NVARCHAR(512),@database_name NVARCHAR(512),@flags INT,@command NVARCHAR(max)
DECLARE jbcur CURSOR FOR SELECT step_id FROM msdb..sysjobsteps WHERE job_id = @jobid ORDER BY step_id ;
OPEN jbcur;
FETCH NEXT FROM jbcur INTO @step_id
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @step_name = step_name
,@cmdexec_success_code= cmdexec_success_code
,@on_success_action = on_success_action
,@on_success_step_id = on_success_step_id
,@on_fail_action = on_fail_action
,@on_fail_step_id = on_fail_step_id
,@retry_attempts = retry_attempts
,@retry_interval = retry_interval
,@os_run_priority = os_run_priority
,@subsystem = subsystem
,@database_name = database_name
,@command = command
,@flags = flags
FROM msdb..sysjobsteps a WHERE job_id = @jobid and step_id = @step_id
PRINT ‘ EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, ‘
PRINT ‘ @step_name=N”’+@step_name+”’, ‘
PRINT ‘ @step_id=’+RTRIM(@step_id)+’, ‘
PRINT ‘ @cmdexec_success_code=’+RTRIM(@cmdexec_success_code)+’, ‘
相关文章 大家在看