📜  sp_add_jobstep ssis 包 (1)

📅  最后修改于: 2023-12-03 14:47:31.302000             🧑  作者: Mango

sp_add_jobstep SSIS 包

该存储过程用于向 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: 必需,指定步骤所属的子系统类型,可以是 CMDEXECSSISDISTRIBUTOR 等。
  • @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 包步骤。