catalog.start_execution(SSISDB 数据库)

在 Integration Services 目录中启动执行实例。

语法

start_execution [ @execution_id = ] execution_id

参数

  • [ @execution\_id = ] execution_id
    执行实例的唯一标识符。 execution_id 的数据类型为 bigint。

备注

使用执行来指定参数值,包在单个包执行实例中将使用这些参数值。 在创建执行实例后,但在启动此实例之前,可能重新部署对应的项目。 在本例中,执行实例将引用过时的项目。 这将导致存储过程失败。

注意注意

只能启动执行一次。 若要开始执行实例,它必须处于已创建状态(在 catalog.operations 视图的 status 列中值为 1)。

示例

以下示例调用 catalog.create_execution 来创建 Child1.dtsx 包的执行实例。 Integration Services Project1 包含该包。 该示例调用 catalog.set_execution_parameter_value 来设置 Parameter1、Parameter2 和 LOGGING_LEVEL 参数的值。 该示例调用 catalog.start_execution 启动一个执行实例。

Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'Child1.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'TestDeply4', @project_name=N'Integration Services Project1', @use32bitruntime=False, @reference_id=Null
Select @execution_id
DECLARE @var0 sql_variant = N'Child1.dtsx'
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=20, @parameter_name=N'Parameter1', @parameter_value=@var0
DECLARE @var1 sql_variant = N'Child2.dtsx'
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=20, @parameter_name=N'Parameter2', @parameter_value=@var1
DECLARE @var2 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var2
EXEC [SSISDB].[catalog].[start_execution] @execution_id
GO

返回代码值

0(成功)

结果集

权限

此存储过程需要下列权限之一:

  • 针对执行实例的 READ 和 MODIFY 权限,针对项目的 READ 和 EXECUTE 权限,针对引用环境的 READ 权限(如果适用)

  • ssis_admin 数据库角色的成员身份

  • sysadmin 服务器角色的成员身份

错误和警告

下面的列表描述了一些可能引发错误或警告的情况:

  • 用户不具备适当的权限

  • 执行标识符无效

  • 执行已被启动或已完成;只能启动执行一次

  • 与项目关联的环境引用无效

  • 尚未设置所需的参数值

  • 与实例执行关联的项目版本已过时;只可执行项目的最新版本