Executar pacotes no SSIS (Integration Services) Scale Out

Aplica-se a: SQL Server SSIS Integration Runtime no Azure Data Factory

Depois de implantar pacotes no servidor do Integration Services, execute-os no Scale Out usando um dos seguintes métodos:

Executar pacotes com a caixa de diálogo Executar Pacote no Scale Out

  1. Abra a caixa de diálogo Executar Pacote no Scale Out.

    No SQL Server Management Studio, conecte-se ao servidor do Integration Services . No Pesquisador de Objetos, expanda a árvore para exibir os nós em Catálogos do Integration Services. Clique com botão direito do mouse no nó, projeto ou pacote SSISDB que você deseja executar e, em seguida, clique em Executar na Expansão.

  2. Selecione os pacotes e defina as opções.

    Na página Seleção de Pacote, selecione um ou mais pacotes a serem executados. Defina o ambiente, os parâmetros, os gerenciadores de conexões e as opções avançadas de cada pacote. Clique em um pacote para definir essas opções.

    Na guia Avançado, defina uma opção do Scale Out chamada Contagem de repetição para especificar o número de vezes que uma execução de pacote tentará executar novamente em caso de falha.

    Observação

    A opção Despejar quando ocorrerem erros só funcionará quando a conta que executa o serviço Trabalho do Scale Out for um administrador no computador local.

  3. Selecione os computadores de trabalho.

    Na página Seleção de Computador, selecione os computadores do Trabalho do Scale Out para executar os pacotes. Por padrão, qualquer computador tem permissão para executar os pacotes.

    Observação

    Os pacotes são executados com as credenciais das contas de usuário dos serviços Trabalho do Scale Out. Examine essas credenciais na página Seleção de Computador. Por padrão, a conta é NT Service\SSISScaleOutWorker140.

    Aviso

    Execuções de pacote disparadas por usuários diferentes no mesmo trabalho são executadas com as mesmas credenciais. Não há nenhum limite de segurança entre elas.

  4. Execute os pacotes e exiba os relatórios.

    Clique em OK para iniciar as execuções de pacote. Para exibir o relatório de execução de um pacote, clique com o botão direito do mouse no pacote em Pesquisador de Objetos, clique em Relatórios, clique em Todas as Execuçõese encontre a execução.

Executar pacotes com procedimentos armazenados

  1. Crie execuções.

    Chame [catalog].[create_execution] para cada pacote. Defina o parâmetro @runinscaleout como True. Se nem todos os computadores do Trabalho do Scale Out tiverem permissão para executar o pacote, defina o parâmetro @useanyworker como False. Para obter mais informações sobre esse procedimento armazenado e sobre o parâmetro @useanyworker, confira catalog.create_execution.

  2. Defina os parâmetros de execução.

    Chame [catalog].[set_execution_parameter_value] para cada execução.

  3. Defina os Trabalhos do Scale Out.

    Chame [catalog].[add_execution_worker]. Se todos os computadores tiverem permissão para executar o pacote, não será necessário chamar esse procedimento armazenado.

  4. Inicie as execuções.

    Chame [catalog].[start_execution]. Defina o parâmetro @retry_count para definir o número de vezes que uma execução de pacote tentará executar novamente em caso de falha.

Exemplo

O exemplo a seguir executa dois pacotes, package1.dtsx e package2.dtsx, no Scale Out com um Trabalho do Scale Out.

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

Permissões

Para executar pacotes no Scale Out, você deve ter uma das seguintes permissões:

  • Associação na função de banco de dados ssis_admin

  • Associação na função de banco de dados ssis_cluster_executor

  • Associação na função de servidor sysadmin

Definir modo de execução padrão

Para definir o modo de execução padrão de pacotes como Scale Out, faça o seguinte:

  1. No SSMS, no Pesquisador de Objetos, clique com o botão direito do mouse no nó SSISDB e selecione Propriedades.

  2. Na caixa de diálogo Propriedades do Catálogo, defina Modo de execução Padrão de todo o servidor como Scale Out.

Depois de definir esse modo de execução padrão, você não precisará mais especificar o parâmetro @runinscaleout quando chamar o procedimento armazenado [catalog].[create_execution]. Os pacotes são executados no Scale Out automaticamente.

Modo de exe

Para alternar o modo de execução padrão novamente para que os pacotes não sejam mais executados por padrão no modo do Scale Out, defina Modo de execução Padrão de todo o servidor como Servidor.

Executar pacote em um trabalho do SQL Server Agent

Em um trabalho do SQL Server Agent, você pode executar um pacote do SSIS como uma etapa do trabalho. Para executar o pacote no Scale Out, defina o modo de execução padrão como Scale Out. Depois de definir o modo de execução padrão como Scale Out, os pacotes em trabalhos do SQL Server Agent serão executados no modo do Scale Out.

Observação

Não é possível interromper a execução do pacote Scale Out cancelando o trabalho do SQL Server Agent. Para interromper a execução do Scale Out, recomendamos que você use o procedimento armazenado catalog.stop_operation ou use o painel Operações Ativas.

Próximas etapas