Eseguire pacchetti nel servizio Integration Services (SSIS) Scale Out

Si applica a:SQL Server SSIS Integration Runtime in Azure Data Factory

Dopo aver distribuito i pacchetti nel server Integration Services, è possibile eseguirli in Scale Out usando uno dei metodi seguenti:

Eseguire i pacchetti con la finestra di dialogo Esegui pacchetto in Scale Out

  1. Aprire la finestra di dialogo Esegui pacchetto in Scale Out.

    In SQL Server Management Studio connettersi al server Integration Services. In Esplora oggetti espandere l'albero per visualizzare il nodo in Cataloghi di Integration Services. Fare clic con il pulsante destro del mouse sul nodo SSISDB , sul progetto o sul pacchetto che si vuole eseguire e quindi fare clic su Execute in Scale Out(Esegui nel servizio di scalabilità orizzontale).

  2. Selezionare i pacchetti e impostare le opzioni.

    Nella pagina Selezione pacchetto selezionare uno o più pacchetti da eseguire. Impostare ambiente, parametri, gestioni connessioni e opzioni avanzate per ogni pacchetto. Fare clic su un pacchetto per impostare queste opzioni.

    Nella scheda Avanzate impostare un'opzione di Scale Out denominata Numero di tentativi per specificare il numero massimo di volte in cui, in caso di errore, viene ritentata l'esecuzione di un pacchetto.

    Nota

    L'opzione Dump su errori ha effetto solo quando l'account che esegue il servizio Scale Out Worker è l'account di un amministratore del computer locale.

  3. Selezionare i computer del ruolo di lavoro.

    Nella pagina Selezione computer selezionare i computer Scale Out Worker per l'esecuzione dei pacchetti. Per impostazione predefinita, tutti i computer possono eseguire i pacchetti.

    Nota

    I pacchetti vengono eseguiti con le credenziali degli account utente dei servizi Scale Out Worker. Verificare le credenziali nella pagina Selezione computer. Per impostazione predefinita, l'account è NT Service\SSISScaleOutWorker140.

    Avviso

    Le esecuzioni dei pacchetti attivate da utenti diversi sullo stesso ruolo di lavoro vengono eseguite con le stesse credenziali. Non c'è alcun limite di sicurezza.

  4. Eseguire i pacchetti e visualizzare i report.

    Fare clic su OK per avviare le esecuzioni dei pacchetti. Per visualizzare il report di esecuzione relativo a un pacchetto, fare clic con il pulsante destro del pacchetto in Esplora oggetti, fare clic su Report, Tutte le esecuzionie trovare l'esecuzione.

Eseguire i pacchetti con le stored procedure

  1. Creare le esecuzioni.

    Chiamare [catalog].[create_execution] per ogni pacchetto. Impostare il parametro @runinscaleout su True. Se non tutti i computer Scale Out Worker sono autorizzati a eseguire il pacchetto, impostare il parametro @useanyworker su False. Per altre informazioni su questa stored procedure e sul parametro @useanyworker, vedere catalog.create_execution.

  2. Impostare i parametri di esecuzione.

    Chiamare [catalog].[set_execution_parameter_value] per ogni esecuzione.

  3. Impostare le istanze di Scale Out Worker.

    Chiamare [catalog].[add_execution_worker]. Se tutti i computer possono eseguire il pacchetto, non è necessario chiamare questa stored procedure.

  4. Avviare le esecuzioni.

    Chiamare [catalog].[start_execution]. Impostare il parametro @retry_count per configurare il numero di tentativi di riesecuzione di un pacchetto in caso di errore.

Esempio

Nell'esempio seguente vengono eseguiti due pacchetti, package1.dtsx e package2.dtsx, nel servizio Scale Out con un ruolo di lavoro.

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

Autorizzazioni

Per eseguire i pacchetti in Scale Out, è necessario avere una delle autorizzazioni seguenti:

  • Appartenenza al ruolo del database ssis_admin

  • Appartenenza al ruolo del database ssis_cluster_executor

  • Appartenenza al ruolo del server sysadmin

Impostare la modalità di esecuzione predefinita

Per impostare la modalità di esecuzione predefinita per i pacchetti su Scale Out, eseguire le operazioni seguenti:

  1. In SSMS in Esplora oggetti fare clic con il pulsante destro del mouse sul nodo SSISDB e selezionare Proprietà.

  2. Nella finestra di dialogo Proprietà catalogo impostare Modalità di esecuzione predefinita a livello di server su Scale Out.

Dopo aver impostato la modalità di esecuzione predefinita, non è più necessario specificare il parametro @runinscaleout quando si chiama la stored procedure [catalog].[create_execution]. I pacchetti vengono eseguiti automaticamente in Scale Out.

Exe mode

Per impostare nuovamente la modalità di esecuzione predefinita sulla modalità non Scale Out, impostare Modalità di esecuzione predefinita a livello di server su Server.

Eseguire un pacchetto in un processo di SQL Server Agent

In un processo di SQL Server Agent è possibile eseguire un pacchetto SSIS come un passaggio del processo. Per eseguire il pacchetto in Scale Out, imposta la modalità di esecuzione predefinita su Scale Out. Dopo aver impostato la modalità di esecuzione predefinita su Scale Out, i pacchetti nei processi di SQL Server Agent vengono eseguiti in modalità Scale Out.

Nota

Non è possibile arrestare l'esecuzione del pacchetto Scale Out annullando il processo SQL Server Agent. Per arrestare l'esecuzione di Scale Out, è consigliabile usare la stored procedure catalog.stop_operation o usare il riquadro Operazioni attive.

Passaggi successivi