Pianificare l'esecuzione dei pacchetti di SQL Server Integration Services (SSIS) distribuiti in Azure
Si applica a: SQL Server SSIS Integration Runtime in Azure Data Factory
È possibile pianificare l'esecuzione di pacchetti SSIS distribuiti nel catalogo SSISDB in un server di database SQL di Azure scegliendo uno dei metodi descritti in questo articolo. Un pacchetto può essere pianificato direttamente oppure indirettamente nell'ambito di una pipeline di Azure Data Factory. Per una panoramica di SSIS in Azure, vedere Migrazione lift-and-shift dei carichi di lavoro di SQL Server Integration Services nel cloud.
Pianificare un pacchetto direttamente
Pianificare un pacchetto indirettamente nell'ambito di una pipeline di Azure Data Factory
Pianificare un pacchetto con SSMS
In SQL Server Management Studio (SSMS), è possibile fare clic con il pulsante destro del mouse su un pacchetto distribuito nel database SSIS Catalog, SSISDB
, e selezionare Pianifica per aprire la finestra di dialogo Nuova pianificazione. Per altre informazioni, vedere Pianificare pacchetti SSIS in Azure con SQL Server Management Studio.
Questa funzionalità richiede SQL Server Management Studio 17.7 o versione successiva. Per ottenere la versione più recente di SSMS, vedere Scaricare SQL Server Management Studio (SSMS).
Pianificare un pacchetto con i processi elastici del database SQL
Per altre informazioni sui processi elastici del database SQL, vedere Gestione dei database cloud con scalabilità orizzontale.
Prerequisiti
Per poter usare i processi elastici per pianificare i pacchetti SSIS archiviati nel database del catalogo SSISDB in un server di database SQL di Azure, è necessario eseguire queste operazioni:
Installare e configurare i componenti dei processi di database elastico. Per altre informazioni, vedere Installazione dei processi di database elastico (panoramica).
Creare le credenziali con ambito database che i processi possono usare per inviare comandi al database del catalogo SSIS. Per altre informazioni, vedere CREARE le CREDENZIALI nell'ambito del DATABASE (Transact-SQL).
Creare un processo elastico
Creare il processo usando uno script Transact-SQL simile allo script riportato nell'esempio seguente:
-- 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
Pianificare un pacchetto con SQL Server Agent locale
Per altre informazioni su SQL Server Agent, vedere Processi di SQL Server Agent per i pacchetti.
Prerequisito: creare un server collegato
Prima di usare SQL Server Agent in locale per pianificare l'esecuzione di pacchetti archiviati in un server di database SQL di Azure, è necessario aggiungere il server di database SQL a SQL Server locale come server collegato. Nell'esempio seguente viene usato il Microsoft OLE DB Driver per SQL Server.
Configurare il server collegato
-- 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
Impostare le credenziali del server collegato
-- Add your Azure SQL Database server admin credentials EXEC sp_addlinkedsrvlogin @rmtsrvname = 'myLinkedServer', @useself = 'false', @rmtuser = 'myUsername', -- Add your server admin username @rmtpassword = 'myPassword' -- Add your server admin password
Impostare le opzioni del server collegato
EXEC sp_serveroption 'myLinkedServer', 'rpc out', true;
Per altre informazioni, vedere Creazione di server collegati e Server collegati.
Creare un processo di SQL Server Agent
Per pianificare un pacchetto con SQL Server Agent in locale, creare un processo con un passaggio di processo che chiami le stored procedure del catalogo SSIS [catalog].[create_execution]
e quindi [catalog].[start_execution]
. Per altre informazioni, vedere Processi di SQL Server Agent per i pacchetti.
In SQL Server Management Studio connettersi al database di SQL Server locale in cui si vuole creare il processo.
Fare clic con il pulsante destro del mouse sul nodo SQL Server Agent, selezionare Nuovo e quindi selezionare Processo per aprire la finestra di dialogo Nuovo processo.
Nella finestra di dialogo Nuovo processo selezionare la pagina Passaggi e quindi selezionare Nuovo per aprire la finestra di dialogo Nuovo passaggio di processo.
Nella finestra di dialogo Nuovo passaggio di processo selezionare
SSISDB
come Database.Nel campo Comando immettere uno script Transact-SQL simile a quello riportato nell'esempio seguente:
-- 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
Completare la configurazione e la pianificazione del processo.
Pianificare un pacchetto nell'ambito di una pipeline di Azure Data Factory
È possibile pianificare un pacchetto indirettamente tramite un trigger per l'esecuzione di una pipeline di Azure Data Factory in cui viene eseguito un pacchetto SSIS.
Per pianificare una pipeline di Data Factory, usare uno dei trigger seguenti:
Per eseguire un pacchetto SSIS nell'ambito di una pipeline di Data Factory, usare una delle attività seguenti:
Passaggi successivi
Esaminare le opzioni per l'esecuzione dei pacchetti SSIS distribuiti in Azure. Per altre informazioni, vedere Eseguire pacchetti SSIS in Azure.