现有一个作业,里面有10个步骤,现在我要在中间插入一个步骤。
在SQLSERVER2005上面生成的代码是先用sp_delete_jobstep删除该作业的每一个步骤,然后再用sp_add_jobstep往里面插入步骤。提问 1、sp_delete_jobstep和sp_add_jobstep可以在SQLSERVER2000上面使用么,再2000上使用的方法和2005里面一样么,下面贴两个2005的使用方法EXEC msdb.dbo.sp_delete_jobstep @job_id=N'79ebc4d2-2e66-4c78-842a-4bfb673c2c5e', @step_id=10
GO
EXEC msdb.dbo.sp_add_jobstep @job_id=N'79ebc4d2-2e66-4c78-842a-4bfb673c2c5e', @step_name=N'test',
@step_id=10,
@cmdexec_success_code=0,
@on_success_action=3,
@on_fail_action=2,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'print ''test''',
@database_name=N'master',
@flags=0
GO提问 2、如果我要把新的步骤插入到第10的位置,即原来的第10步骤变成11步骤,可不可以只删除第10个步骤,然后再sp_add_jobstep新的第10和原来的第10两个步骤?
在SQLSERVER2005上面生成的代码是先用sp_delete_jobstep删除该作业的每一个步骤,然后再用sp_add_jobstep往里面插入步骤。提问 1、sp_delete_jobstep和sp_add_jobstep可以在SQLSERVER2000上面使用么,再2000上使用的方法和2005里面一样么,下面贴两个2005的使用方法EXEC msdb.dbo.sp_delete_jobstep @job_id=N'79ebc4d2-2e66-4c78-842a-4bfb673c2c5e', @step_id=10
GO
EXEC msdb.dbo.sp_add_jobstep @job_id=N'79ebc4d2-2e66-4c78-842a-4bfb673c2c5e', @step_name=N'test',
@step_id=10,
@cmdexec_success_code=0,
@on_success_action=3,
@on_fail_action=2,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'print ''test''',
@database_name=N'master',
@flags=0
GO提问 2、如果我要把新的步骤插入到第10的位置,即原来的第10步骤变成11步骤,可不可以只删除第10个步骤,然后再sp_add_jobstep新的第10和原来的第10两个步骤?
提问二:直接用sp_update_jobsetp修改步骤10
不需要自己写代码的/
1、可以,从你列举的来看除了@os_run_priority在帮助中是“保留”外其余在2000中都有
2、2000中好象是说只要你用sp_add_jobstep 插入
作业步骤的序列标识号。步骤标识号从 1 开始,并以 1 为增量,中间无间隙。如果在现有序列中插入步骤,则序列号可以自动调整。如果没有指定 step_id,则提供一个值。step_id 的数据类型为 int,默认设置为 NULL。
我的理解是不用删除再插入两个,系统会自动调整插入序列后的标识号.
自己做当然是在图形界面修改比较容易,不过要给用户的话,和其他功能一起都是要以SQL脚本的形式输出产品的。
我这里也没有2000的环境