Поделиться через


catalog.create_execution (база данных SSISDB)

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

Область применения: SQL Server

Создает экземпляр выполнения в каталоге служб Integration Services.

Эта хранимая процедура использует уровень ведения журнала по умолчанию на сервере.

Синтаксис

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  

Аргументы

[@folder_name =] имя_папки
Имя папки, содержащей пакет, который необходимо выполнить. Параметр folder_name имеет тип nvarchar(128).

[@project_name =] имя_проекта
Имя проекта, содержащего пакет, который необходимо выполнить. Параметр project_name имеет тип nvarchar(128).

[@package_name =] имя_пакета
Имя пакета, который необходимо выполнить. Параметр package_name имеет тип nvarchar(260).

[@reference_id =] ИД_ссылки
Уникальный идентификатор ссылки на среду. Это необязательный параметр. Параметр reference_id имеет тип bigint.

[@use32bitruntime =] use32bitruntime
Указывает, должна ли использоваться 32-разрядная среда выполнения для запуска этого пакета в 64-разрядной операционной системе. Используйте значение 1, чтобы выполнить пакет в 32-разрядной среде выполнения при прогоне в 64-разрядной операционной системе. Используйте значение 0, чтобы выполнить пакет в 64-разрядной среде выполнения при прогоне в 64-разрядной операционной системе. Это необязательный параметр. Параметр Use32bitruntime имеет тип bit.

[@runinscaleout =] runinscaleout
Укажите, находится ли выполнение в scale Out. Используйте значение 1 для выполнения пакета в Scale Out. Используйте значение 0 для выполнения пакета без горизонтального масштабирования. Этот параметр является необязательным. Если этот параметр не указан, присваивается значение DEFAULT_EXECUTION_MODE в [SSISDB].[catalog].[catalog_properties]. Параметр runinscaleout имеет тип bit.

[@useanyworker =] useanyworker
Указывает, разрешено ли выполнение с помощью любой рабочей роли горизонтального увеличения масштаба.

  • Используйте значение 1 для выполнения пакета с помощью любой рабочей роли горизонтального увеличения масштаба. При задании @useanyworker значения "Истина" любая рабочая роль, максимальное количество задач которой (как указано в файле конфигурации рабочей роли) еще не достигнуто, может запускать пакет. Сведения о файле конфигурации рабочей роли см. в разделе Рабочая роль горизонтального увеличения масштаба служб Integration Services (SSIS).

  • Значение 0 указывает, что выполнение пакета с помощью любой рабочей роли горизонтального увеличения масштаба не разрешено. При задании @useanyworker значения "Ложь" вам нужно будет указать рабочие роли, которым разрешен запуск пакета, с помощью диспетчера горизонтального увеличения масштаба или вызова хранимой процедуры [catalog].[add_execution_worker]. Если указать рабочую роль, в которой уже запущен другой пакет, она завершает выполнение текущего пакета, прежде чем запросить другое выполнение.

Это необязательный параметр. Если параметр не задан, используется значение 1. Параметр useanyworker имеет тип bit.

[@execution_id =] ИД_выполнения
Возвращает уникальный идентификатор для экземпляра выполнения. Параметр execution_id имеет тип bigint.

Замечания

Выполнение применяется для задания значений параметров, которые будут использоваться пакетом во время выполнения одного экземпляра пакета.

Если ссылка на среду задается параметром reference_id, хранимая процедура заполняет параметры проекта и пакета литеральными значениями или ссылочными значениями из соответствующих переменных среды. Если указана ссылка на среду, при выполнении пакета используются значения параметров по умолчанию. Чтобы определить, какие именно значения используются в конкретном экземпляре выполнения, воспользуйтесь значением выходного параметра execution_id из этой хранимой процедуры и выполните запрос к представлению execution_parameter_values.

В выполнении могут указываться только пакеты, отмеченные как пакеты точек входа. В случае указания пакета, который не является пакетом точки входа, происходит сбой выполнения.

Пример

В следующем примере вызывается catalog.create_execution для создания экземпляра выполнения для пакета Child1.dtsx, который не находится в scale Out. Служба 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

Если параметр @runinscaleout имеет значение 1, эта хранимая процедура требует применения одного из следующих разрешений:

  • Членство в роли базы данных ssis_admin

  • Членство в роли базы данных ssis_cluster_executor

  • Членство в роли сервера sysadmin

Ошибки и предупреждения

Следующий список содержит описания некоторых условий, которые могут вызвать ошибку или предупреждение.

  • Пакет не существует.

  • Пользователь не имеет соответствующих разрешений.

  • Ссылка на среду reference_id недопустима.

  • Указанный пакет не является пакетом точки входа.

  • Тип данных в переменной среды, на которую указывает ссылка, отличается от типа данных параметра проекта или пакета.

  • Проект или пакет содержит параметры, которым требуются значения, но значения не назначены.

  • Переменные среды, на которые имеется ссылка, не найдены в среде, указанной ссылкой reference_id.

См. также

catalog.start_execution (база данных SSISDB)
catalog.set_execution_parameter_value (база данных SSISDB)
catalog.add_execution_worker (база данных SSISDB)