catalog.create_execution (base de datos de SSISDB)

Se aplica a:SQL Server SSIS Integration Runtime en Azure Data Factory

Se aplica a:SQL Server

Crea una instancia de ejecución en el catálogo de Integration Services.

Este procedimiento almacenado usa el nivel de registro de servidor predeterminado.

Sintaxis

catalog.create_execution [ @folder_name = ] folder_name  
     , [ @project_name = ] project_name  
     , [ @package_name = ] package_name  
  [  , [ @reference_id = ] reference_id ]  
  [  , [ @use32bitruntime = ] use32bitruntime ] 
  [  , [ @runinscaleout = ] runinscaleout ]
  [  , [ @useanyworker = ] useanyworker ] 
     , [ @execution_id = ] execution_id OUTPUT  

Argumentos

[@folder_name =] folder_name
El nombre de la carpeta que contiene el paquete que se va a ejecutar. folder_name es nvarchar(128) .

[@project_name =] project_name
Nombre del proyecto que contiene el paquete que se va a ejecutar. project_name es nvarchar(128) .

[@package_name =] package_name
El nombre del paquete que se va a ejecutar. El parámetro package_name es de tipo nvarchar(260).

[@reference_id =] reference_id
Un identificador único para una referencia de entorno. Este parámetro es opcional. reference_id es bigint.

[@use32bitruntime =] use32bitruntime
Indica si el motor en tiempo de ejecución de 32 bits se debe usar para ejecutar el paquete en un sistema operativo de 64 bits. Use el valor 1 para ejecutar el paquete con el motor de tiempo de ejecución de 32 bits cuando se ejecute en un sistema operativo de 64 bits. Use el valor 0 para ejecutar el paquete con el motor de tiempo de ejecución de 64 bits cuando se ejecute en un sistema operativo de 64 bits. Este parámetro es opcional. El parámetro Use32bitruntime es de tipo bit.

[@runinscaleout =] runinscaleout
Indique si la ejecución está en Escalabilidad horizontal. Use el valor 1 para ejecutar el paquete en la escalabilidad horizontal. Use el valor 0 para ejecutar el paquete sin escalabilidad horizontal. Este parámetro es opcional. Si no se especifica, su valor se establece en DEFAULT_EXECUTION_MODE en [SSISDB].[catalog].[catalog_properties]. El parámetro runinscaleout es de tipo bit.

[@useanyworker =] useanyworker
Indique si se permite al trabajo de escalabilidad horizontal para realizar la ejecución.

  • Use el valor 1 para ejecutar el paquete con cualquier trabajo de escalabilidad horizontal. Al establecer @useanyworker en true, cualquier trabajo cuyo número máximo de tareas (tal y como se especifica en el archivo de configuración del trabajo) aún no se haya alcanzado, estará disponible para ejecutar el paquete. Para obtener información sobre el archivo de configuración de trabajo, consulte Trabajador de escalado horizontal de Integration Services (SSIS).

  • Use el valor 0 para indicar que no todos los trabajos de escalabilidad horizontal tienen permiso para ejecutar el paquete. Al establecer @useanyworker en false, tendrá que especificar los trabajos que están autorizados a ejecutar el paquete mediante el Administrador de escalabilidad horizontal o mediante una llamada al procedimiento almacenado [catalog].[add_execution_worker]. Si especifica un trabajo que ya está ejecutando otro paquete, el trabajo finaliza la ejecución del paquete actual antes de solicitar otra ejecución.

Este parámetro es opcional. Si no se especifica, su valor se establece en 1. El parámetro useanyworker es de tipo bit.

[@execution_id =] execution_id
Devuelve el identificador único de una instancia de ejecución. El parámetro execution_id es de tipo bigint.

Comentarios

Una ejecución se utiliza para especificar los valores de parámetro que va a usar un paquete durante una instancia única de ejecución del paquete.

Si una referencia de entorno se especifica con el parámetro reference_id, el procedimiento almacenado rellena los parámetros de paquete y proyecto con los valores literales o los valores a los que se hace referencia de las variables de entorno correspondientes. Si se especifica la referencia de entorno, los valores de parámetro predeterminados se utilizan durante la ejecución del paquete. Para determinar exactamente qué valores se usan para una instancia determinada de ejecución, utilice el valor del parámetro de salida execution_id de este de procedimiento almacenado y consulte la vista execution_parameter_values.

Solo los paquetes que se marcan como paquetes de punto de entrada se pueden especificar en una ejecución. Si se especifica un paquete que no es un punto de entrada, la ejecución produce un error.

Ejemplo

En el ejemplo siguiente se llama a catalog.create_execution para crear una instancia de ejecución para el paquete Child1.dtsx, que no se encuentra en escalabilidad horizontal. Project1 de Integration Services contiene el paquete. En el ejemplo se llama a catalog.set_execution_parameter_value para establecer valores para los parámetros Parameter1, Parameter2 y LOGGING_LEVEL. En el ejemplo se llama a catalog.start_execution para iniciar una instancia de ejecución.

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  

Valor de código de retorno

0 (correcto)

Conjuntos de resultados

None

Permisos

Este procedimiento almacenado necesita uno de los permisos siguientes:

  • Permisos de lectura y ejecución en el proyecto y, si es aplicable, permisos de lectura en el entorno al que se hace referencia

  • Pertenencia al rol de base de datos de ssis_admin

  • Pertenencia al rol de servidor de sysadmin

Si @runinscaleout es 1, el procedimiento almacenado necesita uno de los permisos siguientes:

  • Pertenencia al rol de base de datos de ssis_admin

  • Pertenencia al rol de base de datos ssis_cluster_executor

  • Pertenencia al rol de servidor de sysadmin

Errores y advertencias

La siguiente lista describe algunas condiciones que pueden producir un error o una advertencia:

  • El paquete no existe.

  • El usuario no tiene los permisos adecuados.

  • La referencia de entorno, reference_id, no es válida.

  • El paquete que se especifica no es un paquete de punto de entrada.

  • El tipo de datos de la variable de entorno a la que se hace referencia es diferente del tipo de datos del parámetro de paquete o proyecto.

  • El proyecto o el paquete contienen parámetros que requieren valores, pero no se ha asignado ningún valor.

  • Las variables de entorno a las que se hace referencia no se encuentran en el entorno especificado por la referencia de entorno, reference_id.

Consulte también

catalog.start_execution (base de datos de SSISDB)
catalog.set_execution_parameter_value (base de datos de SSISDB)
catalog.add_execution_worker (base de datos de SSISDB)