Выполнение пакетов в развертывании SQL Server Integration Services (SSIS) с горизонтальным увеличением масштаба
Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure
После развертывания пакетов на сервере служб Integration Services их можно запускать в развертывании с горизонтальным увеличением масштаба одним из следующих способов:
Запуск пакетов с помощью диалогового окна "Выполнение пакета" в диалоговом окне "Горизонтальное увеличение масштаба"
Откройте диалоговое окно "Выполнение пакета в сценарии горизонтального увеличения масштаба".
В SQL Server Management Studio подключитесь к серверу Служб Integration Services. В обозревателе объектов разверните дерево для отображения узлов в разделе Каталоги служб Integration Services. Щелкните правой кнопкой мыши узел SSISDB либо проект или пакет, который требуется запустить, и выберите пункт Execute in Scale Out(Выполнить в развертывании с горизонтальным увеличением масштаба).
Выберите пакеты и задайте параметры.
На странице Выбор пакетов выберите один или несколько пакетов для выполнения. Для каждого пакета задайте среду, параметры, диспетчеры подключений и дополнительные параметры. Чтобы задать эти параметры, щелкните пакет.
На вкладке Дополнительно укажите, сколько раз будут совершаться попытки выполнения пакета в случае сбоя, задав параметр горизонтального увеличения масштаба Число повторных попыток.
Примечание.
Параметр Дамп при ошибках действует только в том случае, если учетная запись, с которой выполняется служба рабочей роли горизонтального увеличения масштаба, является администратором локального компьютера.
Выберите компьютеры рабочей роли.
На странице Выбор компьютера выберите компьютеры рабочей роли горизонтального увеличения масштаба для выполнения пакетов. По умолчанию выполнять пакеты разрешено любому компьютеру.
Примечание.
Пакеты выполняются с учетными данными служб рабочих ролей горизонтального увеличения масштаба. Они приведены на странице Выбор компьютера. По умолчанию используется учетная запись
NT Service\SSISScaleOutWorker140
.Предупреждение
Пакеты, выполнение которых инициируется разными пользователями одной рабочей роли, запускаются с одними и теми же учетными данными. Границы безопасности между ними не устанавливаются.
Выполните пакеты и просмотрите отчеты.
Нажмите кнопку ОК , чтобы начать выполнение пакетов. Чтобы просмотреть для пакета отчет о выполнении, щелкните пакет правой кнопкой мыши в обозревателе объектов, выберите Отчеты, Все выполненияи найдите выполнение.
Выполнение пакетов с помощью хранимых процедур
Создайте выполнения.
Вызовите процедуру
[catalog].[create_execution]
для каждого пакета. Присвойте параметру @runinscaleout значениеTrue
. Если выполнять пакет разрешено не всем компьютерам рабочей роли горизонтального увеличения масштаба, задайте для параметра @useanyworker значениеFalse
. Дополнительные сведения об этой хранимой процедуре и параметре @useanyworker см. в статье catalog.create_execution.Задайте параметры выполнения.
Вызовите процедуру
[catalog].[set_execution_parameter_value]
для каждого выполнения.Задайте рабочие роли горизонтального увеличения масштаба.
Вызовите процедуру
[catalog].[add_execution_worker]
. Если выполнять пакет разрешено всем компьютерам, вызывать эту хранимую процедуру не требуется.Запустите выполнения.
Вызовите процедуру
[catalog].[start_execution]
. Задайте параметр @retry_count для количества повторных попыток выполнения пакета в случае сбоя.
Пример
В приведенном ниже примере выполняются два пакета — package1.dtsx
и package2.dtsx
— в развертывании с горизонтальным увеличением масштаба с использованием одной рабочей роли.
Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'package1.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'folder1', @project_name=N'project1', @use32bitruntime=False, @reference_id=Null, @useanyworker=False, @runinscaleout=True
Select @execution_id
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
EXEC [SSISDB].[catalog].[add_execution_worker] @execution_id, @workeragent_id=N'64c020e2-f819-4c2d-a22f-efb31a91e70a'
EXEC [SSISDB].[catalog].[start_execution] @execution_id, @retry_count=0
GO
Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'package2.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'folder2', @project_name=N'project2', @use32bitruntime=False, @reference_id=Null, @useanyworker=False, @runinscaleout=True
Select @execution_id
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
EXEC [SSISDB].[catalog].[add_execution_worker] @execution_id, @workeragent_id=N'64c020e2-f819-4c2d-a22f-efb31a91e70a'
EXEC [SSISDB].[catalog].[start_execution] @execution_id, @retry_count=0
GO
Разрешения
Для выполнения пакетов в развертывании с горизонтальным увеличением масштаба требуется одно из следующих разрешений:
Членство в роли базы данных ssis_admin
Членство в роли базы данных ssis_cluster_executor
Членство в роли сервера sysadmin
Установка режима выполнения по умолчанию
Чтобы задать для пакетов режим выполнения по умолчанию Горизонтальное увеличение масштаба, выполните указанные ниже действия.
В SQL Server Management Studio в обозревателе объектов щелкните правой кнопкой мыши узел SSISDB и выберите пункт Свойства.
В диалоговом окне Свойства каталога присвойте свойству Серверный режим выполнения по умолчанию значение Горизонтальное увеличение масштаба.
После задания этого режима выполнения по умолчанию больше не нужно указывать параметр @runinscaleout при вызове хранимой процедуры [catalog].[create_execution]
. Пакеты выполняются в развертывании с горизонтальным увеличением масштаба автоматически.
Чтобы отключить выполнение в режиме горизонтального увеличения масштаба по умолчанию, присвойте параметру Серверный режим выполнения по умолчанию значение Сервер.
Запуск пакета в задании агент SQL Server
Пакет служб SSIS может выполняться как один из этапов задания агента SQL Server. Чтобы запустить пакет в Scale Out, задайте для режима выполнения по умолчанию значение Scale Out. После установки режима выполнения по умолчанию для горизонтального масштабирования пакеты в агент SQL Server задания выполняются в режиме горизонтального масштабирования.
Примечание.
Вы не можете остановить выполнение пакета в режиме горизонтального увеличения масштаба, отменив задание агента SQL Server. Для остановки горизонтального увеличения масштаба рекомендуется использовать хранимую процедуру catalog.stop_operation или область Активные операции.