catalog.create_execution(SSISDB 数据库)

在 Integration Services 目录中创建执行实例。

此存储过程使用默认服务器日志记录级别。

语法

create_execution [ @folder_name = folder_name
     , [ @project_name = ] project_name
     , [ @package_name = ] package_name
  [  , [ @reference_id = ] reference_id ]
  [  , [ @use32bitruntime = ] use32bitruntime ]
     , [ @execution_id = ] execution_id OUTPUT

参数

  • [ @folder\_name = ] folder_name
    包含要执行的包的文件夹名称。 folder_name 的数据类型为 nvarchar(128)。

  • [ @project\_name = ] project_name
    包含要执行的包的项目名称。 project_name 的数据类型为 nvarchar(128)。

  • [ @package\_name = ] package_name
    包含要执行的包的名称。 package_name 的数据类型为 nvarchar(260)。

  • [ @reference\_id = ] reference_id
    环境引用的唯一标识符。 此参数可选。 reference_id 的数据类型为 bigint。

  • [ @use32bitruntime = ] use32bitruntime
    指示是否应使用 32 位运行时在 64 位操作系统上运行包。 使用值 1 表示在 64 位操作系统上运行时,使用 32 位运行时执行此包。 使用值 0 表示在 64 位操作系统上运行时,使用 64 位运行时执行此包。 此参数可选。 Use32bitruntime 的数据类型为 bit。

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

备注

使用执行来指定参数值,包在单个包执行实例中将使用这些参数值。

如果使用 reference_id 参数指定某个环境引用,则该存储过程将使用对应环境变量中的文本值或引用值填充项目和包参数。 如果指定了环境引用,则在包执行过程中将使用默认参数值。 若要精确确定将哪些值用于特定执行实例,应使用此存储过程中的 execution_id 输出参数值,并查询 execution_parameter_values 视图。

在执行中只能指定标记为入口点包的包。 如果指定的包不是入口点,则执行失败。

示例

以下示例调用 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 和 EXECUTE 权限,如果适用,则需要针对引用环境的 READ 权限

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

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

错误和警告

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

  • 该包不存在。

  • 用户不具备适当的权限。

  • 环境引用 reference_id 无效。

  • 指定的包不是入口点包。

  • 引用环境变量的数据类型不同于项目或包参数的数据类型。

  • 项目或包包含需要值的参数,但尚未分配任何值。

  • 在环境引用 reference_id 指定的环境中找不到引用的环境变量。

请参阅

参考

catalog.start_execution(SSISDB 数据库)

catalog.set_execution_parameter_value(SSISDB 数据库)