Agendar a execução de pacotes do SQL Server Integration Services (SSIS) implantados no Azure
Se aplica a:SQL Server
SSIS Integration Runtime no Azure Data Factory
Você pode agendar a execução de pacotes SSIS implantados no Catálogo SSISDB em um servidor do Banco de Dados SQL do Azure escolhendo um dos métodos descritos neste artigo. Você pode agendar um pacote diretamente ou agendar um pacote indiretamente como parte de um pipeline do Azure Data Factory. Para obter uma visão geral sobre o SSIS no Azure, consulte Elevar e deslocar cargas de trabalho do SQL Server Integration Services para a nuvem.
Agende um pacote diretamente
Agendar um pacote indiretamente como parte de um pipeline do Azure Data Factory
Agendar um pacote com o SSMS
No SQL Server Management Studio (SSMS), você pode clicar com o botão direito do rato em um pacote implantado no banco de dados do Catálogo SSIS, SSISDB
e selecionar Agendar para abrir a caixa de diálogo Novo cronograma. Para obter mais informações, consulte Programar pacotes SSIS no Azure com o SSMS.
Esse recurso requer o SQL Server Management Studio versão 17.7 ou superior. Para obter a versão mais recente do SSMS, consulte Baixar o SQL Server Management Studio (SSMS).
Agendar um pacote com trabalhos elásticos do Banco de dados SQL
Para saber mais sobre trabalhos elásticos no Banco de dados SQL, veja Gerenciando bancos de dados em nuvem escalonados.
Pré-requisitos
Antes de poder usar trabalhos elásticos para agendar pacotes SSIS armazenados no banco de dados do Catálogo SSISDB em um servidor do Banco de Dados SQL do Azure, você precisa fazer o seguinte:
Instale e configure os componentes de trabalhos do Banco de Dados Elástico. Para obter mais informações, consulte Visão geral dos trabalhos de instalação do Banco de Dados Elástico.
Crie credenciais de escopo de base de dados que podem ser utilizadas pelas tarefas para enviar comandos para a base de dados do Catálogo SSIS. Para obter mais informações, consulte CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
Criar um trabalho elástico
Crie o trabalho usando um script Transact-SQL semelhante ao script mostrado no exemplo a seguir:
-- Create Elastic Jobs target group
EXEC jobs.sp_add_target_group 'TargetGroup'
-- Add Elastic Jobs target group member
EXEC jobs.sp_add_target_group_member @target_group_name='TargetGroup',
@target_type='SqlDatabase', @server_name='YourSQLDBServer.database.windows.net',
@database_name='SSISDB'
-- Add a job to schedule SSIS package execution
EXEC jobs.sp_add_job @job_name='ExecutePackageJob', @description='Description',
@schedule_interval_type='Minutes', @schedule_interval_count=60
-- Add a job step to create/start SSIS package execution using SSISDB catalog stored procedures
EXEC jobs.sp_add_jobstep @job_name='ExecutePackageJob',
@command=N'DECLARE @exe_id bigint
EXEC [SSISDB].[catalog].[create_execution]
@folder_name=N''folderName'', @project_name=N''projectName'',
@package_name=N''packageName'', @use32bitruntime=0,
@runinscaleout=1, @useanyworker=1,
@execution_id=@exe_id OUTPUT
EXEC [SSISDB].[catalog].[start_execution] @exe_id, @retry_count=0',
@credential_name='YourDBScopedCredentials',
@target_group_name='TargetGroup'
-- Enable the job schedule
EXEC jobs.sp_update_job @job_name='ExecutePackageJob', @enabled=1,
@schedule_interval_type='Minutes', @schedule_interval_count=60
Agendar um pacote localmente com o SQL Server Agent
Para obter mais informações sobre o SQL Server Agent, consulte SQL Server Agent Jobs for Packages.
Pré-requisito - Criar um servidor vinculado
Antes de poder usar o SQL Server Agent no local para agendar a execução de pacotes armazenados em um servidor do Banco de Dados SQL do Azure, você precisa adicionar o servidor do Banco de Dados SQL ao SQL Server local como um servidor vinculado. O exemplo abaixo usa o driver Microsoft OLE DB para SQL Server.
Configurar o servidor vinculado
-- Add the SSISDB database on your Azure SQL Database as a linked server to your SQL Server on premises EXEC sp_addlinkedserver @server='myLinkedServer', -- Name your linked server @srvproduct='', @provider='MSOLEDBSQL', -- Microsoft OLE DB Driver for SQL Server @datasrc='<server_name>.database.windows.net', -- Add your Azure SQL Database server endpoint @location='', @provstr='', @catalog='SSISDB' -- Add SSISDB as the initial catalog
Configurar credenciais de servidor vinculado
Substitua
<password>
por uma senha válida.-- Add your Azure SQL Database server admin credentials EXEC sp_addlinkedsrvlogin @rmtsrvname = 'myLinkedServer', @useself = 'false', @rmtuser = 'myUsername', -- Add your server admin username @rmtpassword = '<password>' -- Add your server admin password
Configurar opções de servidor vinculado
EXEC sp_serveroption 'myLinkedServer', 'rpc out', true;
Para obter mais informações, consulte Criar servidores vinculados e Servidores Vinculados.
Criar uma tarefa do SQL Server Agent
Para agendar um pacote com o SQL Server Agent no local, crie um trabalho com um passo de trabalho que chame os procedimentos armazenados do Catálogo SSIS [catalog].[create_execution]
e, em seguida, [catalog].[start_execution]
. Para obter mais informações, consulte SQL Server Agent Jobs for Packages.
No SQL Server Management Studio, conecte-se ao banco de dados SQL Server local no qual você deseja criar o trabalho.
Clique com o botão direito do rato no nó do SQL Server Agent, selecione Novae selecione Tarefa para abrir a caixa de diálogo Nova Tarefa.
Na caixa de diálogo Novo Trabalho, selecione a página Etapas e, em seguida, escolha Novo para abrir a nova caixa de diálogo Etapa do Trabalho.
Na caixa de diálogo Etapa de Novo Trabalho , selecione
SSISDB
como o Banco de Dados .No campo de comando, insira um script Transact-SQL semelhante ao script mostrado no exemplo a seguir:
-- T-SQL script to create and start SSIS package execution using SSISDB stored procedures DECLARE @return_value int, @exe_id bigint EXEC @return_value = [YourLinkedServer].[SSISDB].[catalog].[create_execution] @folder_name=N'folderName', @project_name=N'projectName', @package_name=N'packageName', @use32bitruntime=0, @runincluster=1, @useanyworker=1, @execution_id=@exe_id OUTPUT EXEC [YourLinkedServer].[SSISDB].[catalog].[set_execution_parameter_value] @exe_id, @object_type=50, @parameter_name=N'SYNCHRONIZED', @parameter_value=1 EXEC [YourLinkedServer].[SSISDB].[catalog].[start_execution] @execution_id=@exe_id
Conclua a configuração e o agendamento do trabalho.
Agendar um pacote como parte de um pipeline do Azure Data Factory
Você pode agendar um pacote indiretamente usando um gatilho para executar um pipeline do Azure Data Factory que executa um pacote SSIS.
Para programar um pipeline do Data Factory, use um dos seguintes gatilhos:
Para executar um pacote SSIS como parte de um pipeline do Data Factory, use uma das seguintes atividades:
Próximos passos
Analise as opções para executar pacotes SSIS implantados no Azure. Para obter mais informações, consulte Executar pacotes SSIS no Azure.