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 服务器角色的成员资格
错误和警告
下面的列表描述了一些可能引发错误或警告的情况:
用户没有相应的权限
执行标识符无效
执行已被启动或已完成;只能启动执行一次
与项目关联的环境引用无效
尚未设置所需的参数值
与实例执行关联的项目版本已过时;只可执行项目的最新版本