📅  最后修改于: 2023-12-03 14:47:31.302000             🧑  作者: Mango
该存储过程用于向 SQL Server Agent 作业添加一个步骤,该步骤是一个 SQL Server Integration Services (SSIS) 包。
## 语法
```sql
sp_add_jobstep [@job_id =] job_id
, [@step_id =] step_id OUTPUT
, [@step_name =] 'step_name'
, [@subsystem =] 'subsystem'
, [@command =] 'command'
[, [@flags =] flags]
[, [@retry_attempts =] retry_attempts]
[, [@retry_interval =] retry_interval]
[, [@output_file_name =] 'output_file_name']
[, [@output_file_overwrite =] output_file_overwrite]
[, [@proxy_id =] proxy_id]
[, [@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]
[, [@server =] 'server']
[, [@database_name =] 'database']
[, [@database_user_name =] 'user']
[, [@subsystem_id =] 'subsystem_id']
[, [@command_exec_success_code =] command_exec_success_code]
[, [@flags2 =] flags2]
[, [@retry_attempts2 =] retry_attempts2]
[, [@retry_interval2 =] retry_interval2]
[, [@append_output_file_name =] 'append_output_file_name']
[, [@append_output_file_set =] append_output_file_set]
[, [@fallback_server =] 'fallback_server']
[, [@fallback_database =] 'fallback_database']
[, [@fallback_database_user_name =] 'fallback_user']
@job_id
: 必需,指定要添加步骤的作业的作业 ID。@step_id
: OUTPUT 参数,返回添加的步骤的步骤 ID。@step_name
: 必需,指定要添加的步骤的名称。@subsystem
: 必需,指定步骤所属的子系统类型,可以是 CMDEXEC
、SSIS
、DISTRIBUTOR
等。@command
: 必需,指定步骤的命令/脚本。如果 @subsystem
是 SSIS,则为 SSIS 包的名称。@flags
: 可选,指定步骤的标志位。默认为 1。@retry_attempts
: 可选,指定步骤在失败后重新尝试执行的次数。默认为 0。@retry_interval
: 可选,指定步骤在失败后重新尝试执行的时间间隔(以秒为单位)。默认为 0。无
DECLARE @job_id uniqueidentifier;
DECLARE @step_id int;
-- 创建作业
EXEC sp_add_job
@job_name = 'My SSIS Job',
@job_id = @job_id OUTPUT;
-- 添加 SSIS 包步骤
EXEC sp_add_jobstep
@job_id = @job_id,
@step_id = @step_id OUTPUT,
@step_name = 'Run SSIS Package',
@subsystem = 'SSIS',
@command = 'MySSISPackage.dtsx';
以上示例演示了如何使用 sp_add_jobstep
存储过程向作业中添加一个 SSIS 包步骤。