catalog.start_execution(SSISDB 数据库)

适用范围:SQL Server Azure 数据工厂中的 SSIS Integration Runtime

适用范围:SQL Server

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

语法

catalog.start_execution [ @execution_id = ] execution_id [, [ @retry_count = ] retry_count]  

参数

[@execution_id =] execution_id
执行实例的唯一标识符。 execution_id 为 bigint。

[@retry_count =] retry_count
执行失败时的重试次数。 仅当在 Scale Out 中执行时才生效。此参数是可选的。 如果未指定,其值设置为 0。 retry_count 为 int

注解

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

注意

只能启动执行一次。 要开始执行实例,它必须处于已创建状态(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 服务器角色的成员资格

错误和警告

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

  • 用户没有相应的权限

  • 执行标识符无效

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

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

  • 尚未设置所需的参数值

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