Creare Azure-SSIS Integration Runtime in Azure Data FactoryCreate Azure-SSIS Integration Runtime in Azure Data Factory

Questa esercitazione illustra la procedura per il provisioning di un Server Integration Services (SSIS) di SQL di Azure Integration Runtime (IR) in Azure Data Factory (ADF).This tutorial provides steps for provisioning an Azure-SQL Server Integration Services (SSIS) Integration Runtime (IR) in Azure Data Factory (ADF). Runtime di integrazione SSIS di Azure supporta l'esecuzione di pacchetti distribuiti nel catalogo SSIS (SSISDB) ospitato da Azure SQL server gestita/Database istanza (modello di distribuzione progetto) e quelli distribuiti in sistemi/file di Azure o le condivisioni file (modello di distribuzione del pacchetto).Azure-SSIS IR supports running packages deployed into SSIS catalog (SSISDB) hosted by Azure SQL Database server/Managed Instance (Project Deployment Model) and those deployed into file systems/file shares/Azure Files (Package Deployment Model). Dopo il provisioning di runtime di integrazione Azure-SSIS, quindi è possibile usare strumenti familiari, ad esempio SQL Server Data Tools (SSDT) o SQL Server Management Studio (SSMS) e comandi utilità della riga, ad esempio dtinstall / dtutil / dtexec, a distribuire ed eseguire i pacchetti in Azure.Once Azure-SSIS IR is provisioned, you can then use familiar tools, such as SQL Server Data Tools (SSDT)/SQL Server Management Studio (SSMS), and command line utilities, such as dtinstall/dtutil/dtexec, to deploy and run your packages in Azure.

L'esercitazione Il provisioning di Azure-SSIS IR illustra come creare un runtime di integrazione SSIS di Azure tramite l'app di portale o Azure Data factory di Azure e, facoltativamente, usare Azure SQL server gestita/Database istanza per ospitare SSISDB.The Tutorial: Provisioning Azure-SSIS IR shows you how to create an Azure-SSIS IR via the Azure portal/ADF app and optionally use Azure SQL Database server/Managed Instance to host SSISDB. Questo articolo amplia l'esercitazione e descrive come eseguire queste operazioni:This article expands on the tutorial and shows you how to do the following things:

  • Facoltativamente, usare il server di Database SQL di Azure con rete virtuale del servizio endpoint gestita/istanza in una rete virtuale per ospitare SSISDB.Optionally use Azure SQL Database server with virtual network service endpoints/Managed Instance in a virtual network to host SSISDB. Come prerequisito, è necessario configurare le autorizzazioni/impostazioni della rete virtuale per il runtime di integrazione SSIS di Azure aggiungere una rete virtuale.As a prerequisite, you need to configure virtual network permissions/settings for your Azure-SSIS IR to join a virtual network.

  • Facoltativamente è possibile usare l'autenticazione di Azure Active Directory (AAD) con l'identità gestita per l'Azure Data factory per connettersi al Database SQL di Azure, server/istanza gestita.Optionally use Azure Active Directory (AAD) authentication with the managed identity for your ADF to connect to Azure SQL Database server/Managed Instance. Come prerequisito, è necessario aggiungere l'identità gestita per ADF come un utente del database in grado di creare SSISDB.As a prerequisite, you will need to add the managed identity for your ADF as a database user capable of creating SSISDB.

PanoramicaOverview

Questo articolo illustra vari metodi per effettuare il provisioning di Azure-SSIS IR:This article shows different ways of provisioning Azure-SSIS IR:

PrerequisitiPrerequisites

Nota

Questo articolo è stato aggiornato per usare il nuovo modulo Az di Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. È comunque possibile usare il modulo AzureRM, che continuerà a ricevere correzioni di bug almeno fino a dicembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Per altre informazioni sul nuovo modulo Az e sulla compatibilità di AzureRM, vedere Introduzione del nuovo modulo Az di Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Per istruzioni sull'installazione del modulo Az, vedere Installare Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

  • Sottoscrizione di Azure.Azure subscription. Se non si ha ancora una sottoscrizione, è possibile creare un account di valutazione gratuito.If you do not already have a subscription, you can create a free trial account.
  • Azure SQL server gestita/Database (facoltativo) istanza.Azure SQL Database server/Managed Instance (optional). Se si dispone già di un server di database, crearne uno nel portale di Azure prima di iniziare.If you do not already have a database server, create one in the Azure portal before you get started. Azure Data factory a sua volta creerà il database SSISDB nel server del database.ADF will in turn create SSISDB on this database server. È consigliabile creare il server di database nella stessa area di Azure del runtime di integrazione.We recommend that you create the database server in the same Azure region as the integration runtime. Questa configurazione consente il runtime di integrazione di scrivere i log di esecuzione in SSISDB senza attraversare aree di Azure.This configuration lets the integration runtime write execution logs into SSISDB without crossing Azure regions.
    • In base al server di database selezionato, il database SSISDB può essere creato per conto dell'utente come database singolo, parte di un pool elastico o in un'istanza gestita e reso accessibile in una rete pubblica o mediante l'aggiunta a una rete virtuale.Based on the selected database server, SSISDB can be created on your behalf as a single database, part of an elastic pool, or in a Managed Instance and accessible in public network or by joining a virtual network. Per ottenere informazioni sulla scelta del tipo di server di database per ospitare SSISDB, vedere confrontare Database SQL di Azure singolo database/elastic pool/Managed istanza.For guidance in choosing the type of database server to host SSISDB, see Compare Azure SQL Database single database/elastic pool/Managed Instance. Se si usa il server di Database SQL di Azure con rete virtuale del servizio endpoint gestita/istanza in una rete virtuale per ospitare SSISDB o richiedono l'accesso ai dati locali, è necessario aggiungere il runtime di integrazione Azure-SSIS a una rete virtuale, vedere Join runtime di integrazione Azure-SSIS a un rete virtuale.If you use Azure SQL Database server with virtual network service endpoints/Managed Instance in a virtual network to host SSISDB or require access to on-premises data, you need to join your Azure-SSIS IR to a virtual network, see Join Azure-SSIS IR to a virtual network.
    • Verificare che l'opzione Consenti l'accesso a Servizi di Azure sia abilitata per il server di database.Confirm that the Allow access to Azure services setting is enabled for the database server. Ciò non è applicabile quando si usa il server di Database SQL di Azure con rete virtuale del servizio endpoint gestita/istanza in una rete virtuale per ospitare SSISDB.This is not applicable when you use Azure SQL Database server with virtual network service endpoints/Managed Instance in a virtual network to host SSISDB. Per altre informazioni, vedere Proteggere il database SQL di Azure.For more information, see Secure your Azure SQL database. Per abilitare questa impostazione con PowerShell, vedere New-AzSqlServerFirewallRule.To enable this setting by using PowerShell, see New-AzSqlServerFirewallRule.
    • Aggiungere l'indirizzo IP del computer client o un intervallo di indirizzi IP che includa l'indirizzo IP del computer client all'elenco di indirizzi IP client nelle impostazioni del firewall per il server di database.Add the IP address of client machine, or a range of IP addresses that includes the IP address of client machine, to the client IP address list in the firewall settings for the database server. Per altre informazioni, vedere Regole firewall a livello di database e di server di database SQL di Azure.For more information, see Azure SQL Database server-level and database-level firewall rules.
    • È possibile connettersi al server di database usando l'autenticazione di SQL con le credenziali di amministratore del server o l'autenticazione di Azure Active Directory (AAD) con l'identità gestita per ADF.You can connect to the database server using SQL authentication with your server admin credentials or Azure Active Directory (AAD) authentication with the managed identity for your ADF. Nel secondo caso, è necessario aggiungere l'identità gestita per il file ADF in un gruppo AAD con autorizzazioni di accesso al server di database, vedere autenticazione di AAD di abilitare per Azure-SSIS IR.For the latter, you need to add the managed identity for your ADF into an AAD group with access permissions to the database server, see Enable AAD authentication for Azure-SSIS IR.
    • Verificare che il server di database non abbia già un database SSISDB.Confirm that your database server does not have an SSISDB already. Il provisioning di un runtime di integrazione Azure-SSIS non supporta l'utilizzo un SSISDB esistente.The provisioning of an Azure-SSIS IR does not support using an existing SSISDB.
  • Rete virtuale di Azure Resource Manager (facoltativa) .Azure Resource Manager virtual network (optional). È necessario avere una rete virtuale di Azure Resource Manager in presenza di almeno una delle condizioni seguenti:You must have an Azure Resource Manager virtual network if at least one of the following conditions is true:
    • Se si ospita SSISDB nel server di Database SQL di Azure con rete virtuale del servizio endpoint gestita/istanza in una rete virtuale.You are hosting SSISDB on Azure SQL Database server with virtual network service endpoints/Managed Instance in a virtual network.
    • Si vuole connettersi ad archivi dati locali da pacchetti SSIS in esecuzione su Azure-SSIS IR.You want to connect to on-premises data stores from SSIS packages running on your Azure-SSIS IR.
  • Azure PowerShell (facoltativo) .Azure PowerShell (optional). Seguire le istruzioni sullo come installare e configurare Azure PowerShell, se si desidera eseguire uno script di PowerShell per effettuare il provisioning di runtime di integrazione SSIS di Azure.Follow the instructions on How to install and configure Azure PowerShell, if you want to run a PowerShell script to provision your Azure-SSIS IR.

Supporto di areaRegion support

Per un elenco delle aree di Azure in cui sono attualmente disponibili ADF e Azure-SSIS IR, vedere Disponibilità di ADF + SSIS IR per area.For a list of Azure regions, in which ADF and Azure-SSIS IR are currently available, see ADF + SSIS IR availability by region.

Confrontare database singolo/pool elastico e Istanza gestita di database SQL di AzureCompare SQL Database single database/elastic pool and SQL Database Managed Instance

La tabella seguente mette a confronto alcune funzionalità del server di database SQL di Azure e di Istanza gestita in relazione a Azure-SSIR IR:The following table compares certain features of Azure SQL Database server and Managed Instance as they relate to Azure-SSIR IR:

FunzionalitàFeature Database singolo/pool elasticosingle database/elastic pool Istanza gestitaManaged Instance
PianificazioneScheduling SQL Server Agent non è disponibile.SQL Server Agent is not available.

Vedere Pianificare un pacchetto nell'ambito di una pipeline di ADF.See Schedule a package execution in ADF pipeline.
L’agente di istanza gestita è disponibile.Managed Instance Agent is available.
autenticazioneAuthentication È possibile creare SSISDB con un utente di database indipendente che rappresenta un gruppo AAD qualsiasi con l'identità gestita di ADF come membro del ruolo db_owner.You can create SSISDB with a contained database user representing any AAD group with the managed identity of your ADF as a member in the db_owner role.

Vedere Abilitare l'autenticazione di Azure AD per creare SSISDB nel server di database SQL di Azure.See Enable Azure AD authentication to create SSISDB in Azure SQL Database server.
È possibile creare SSISDB con un utente di database indipendente che rappresenta l'identità gestita di ADF.You can create SSISDB with a contained database user representing the managed identity of your ADF.

Vedere Abilitare l'autenticazione di Azure AD per creare SSISDB in Istanza gestita di database SQL di Azure.See Enable Azure AD authentication to create SSISDB in Azure SQL Database Managed Instance.
Livello di servizioService tier Quando si crea Azure-SSIS IR con il server di database SQL di Azure, è possibile selezionare il livello di servizio per SSISDB.When you create Azure-SSIS IR with your Azure SQL Database server, you can select the service tier for SSISDB. Sono disponibili più livelli di servizio.There are multiple service tiers. Quando si crea Azure-SSIS IR con la propria istanza gestita, non è possibile selezionare il livello di servizio per SSISDB.When you create Azure-SSIS IR with your Managed Instance, you cannot select the service tier for SSISDB. Tutti i database nell'istanza gestita condividono la stessa risorsa allocata a tale istanza.All databases in your Managed Instance share the same resource allocated to that instance.
Rete virtualeVirtual network Supporta solo le reti virtuali di Azure Resource Manager per l'aggiunta di Azure-SSIS IR se si usa il server di database SQL di Azure con endpoint servizio di rete virtuale o si richiede l'accesso ad archivi dati in locale.Supports only Azure Resource Manager virtual networks for your Azure-SSIS IR to join if you use Azure SQL Database server with virtual network service endpoints or require access to on-premises data stores. Supporta solo le reti virtuali di Azure Resource Manager per l'aggiunta di Azure-SSIS IR.Supports only Azure Resource Manager virtual networks for your Azure-SSIS IR to join. La rete virtuale è sempre obbligatoria.The virtual network is always required.

Se si aggiunge Azure-SSIS IR alla stessa rete virtuale della propria istanza gestita, assicurarsi che Azure-SSIS IR si trovi in una subnet diversa rispetto all'istanza gestita.If you join your Azure-SSIS IR to the same virtual network as your Managed Instance, make sure that your Azure-SSIS IR is in a different subnet than your Managed Instance. Se si aggiunge Azure-SSIS IR a una rete virtuale diversa da quella della propria istanza gestita, è consigliabile effettuare un peering di rete virtuale o stabilire una connessione tra reti virtuali.If you join your Azure-SSIS IR to a different virtual network than your Managed Instance, we recommend either a virtual network peering or virtual network to virtual network connection. Vedere Connettere un'applicazione a Istanza gestita di database SQL di Azure.See Connect your application to Azure SQL Database Managed Instance.
Transazioni distribuiteDistributed transactions Supportate tramite transazioni elastiche.Supported through Elastic Transactions. Le transazioni di Microsoft Distributed Transaction Coordinator (MSDTC) non sono supportate.Microsoft Distributed Transaction Coordinator (MSDTC) transactions are not supported. Se i pacchetti SSIS usano MSDTC per coordinare le transazioni distribuite, è consigliabile eseguire la migrazione a Transazioni elastiche per il database SQL di Azure.If your SSIS packages use MSDTC to coordinate distributed transactions, consider migrating to Elastic Transactions for Azure SQL Database. Per altre informazioni, vedere Transazioni distribuite in database cloud.For more info, see Distributed transactions across cloud databases. Non supportati.Not supported.

Portale di AzureAzure portal

In questa sezione si userà il portale di Azure, e in particolare l'interfaccia utente o l'app di ADF, per creare Azure-SSIS IR.In this section, you use Azure portal, specifically ADF User Interface (UI)/app, to create Azure-SSIS IR.

Creare una data factoryCreate a data factory

  1. Avviare il Web browser Microsoft Edge o Google Chrome.Launch Microsoft Edge or Google Chrome web browser. L'interfaccia utente di Data Factory è attualmente supportata solo nei Web browser Microsoft Edge e Google Chrome.Currently, Data Factory UI is supported only in Microsoft Edge and Google Chrome web browsers.

  2. Accedere al portale di Azure.Sign in to the Azure portal.

  3. Scegliere Nuovo dal menu a sinistra, fare clic su Dati e analisi e quindi fare clic su Data factory.Click New on the left menu, click Data + Analytics, and click Data Factory.

    Nuovo->DataFactory

  4. Nella pagina Nuova data factory immettere MyAzureSsisDataFactory per Nome.In the New data factory page, enter MyAzureSsisDataFactory for the name.

    Pagina Nuova data factory

    Il nome della data factory di Azure deve essere univoco a livello globale.The name of the Azure data factory must be globally unique. Se viene visualizzato l'errore seguente, modificare il nome della data factory, ad esempio nomeutenteMyAzureSsisDataFactory, e riprovare.If you receive the following error, change the name of the data factory (for example, yournameMyAzureSsisDataFactory) and try creating again. Per informazioni sulle regole di denominazione per gli elementi di Data Factory, vedere l'articolo Data Factory - Regole di denominazione.See Data Factory - Naming Rules article for naming rules for Data Factory artifacts.

    Data factory name “MyAzureSsisDataFactory” is not available

  5. Selezionare la sottoscrizione di Azure in cui creare la data factory.Select your Azure subscription in which you want to create the data factory.

  6. Per il gruppo di risorse, eseguire una di queste operazioni:For the Resource Group, do one of the following steps:

    • Selezionare Usa esistentee scegliere un gruppo di risorse esistente dall'elenco a discesa.Select Use existing, and select an existing resource group from the drop-down list.
    • Selezionare Crea nuovoe immettere un nome per il gruppo di risorse.Select Create new, and enter the name of a resource group.

    Per informazioni sui gruppi di risorse, vedere l'articolo relativo all'uso di gruppi di risorse per la gestione delle risorse di Azure.To learn about resource groups, see Using resource groups to manage your Azure resources.

  7. Selezionare V2 per version.Select V2 for the version.

  8. Selezionare la località per la data factory.Select the location for the data factory. Nell'elenco vengono mostrate solo le località supportate per la creazione di data factory.Only locations that are supported for creation of data factories are shown in the list.

  9. Selezionare Aggiungi al dashboard.Select Pin to dashboard.

  10. Fare clic su Create(Crea).Click Create.

  11. Nel dashboard viene visualizzato il riquadro seguente con lo stato: Deploying data factory (Distribuzione della data factory).On the dashboard, you see the following tile with status: Deploying data factory.

    Riquadro Deploying data factory (Distribuzione della data factory)

  12. Al termine della creazione verrà visualizzata la pagina Data factory, come illustrato nell'immagine.After the creation is complete, you see the Data Factory page as shown in the image.

    Home page di Data factory

  13. Fare clic su Crea e monitora per avviare l'interfaccia utente di Data Factory in una scheda separata.Click Author & Monitor to launch the Data Factory User Interface (UI) in a separate tab.

Effettuare il provisioning di un runtime di integrazione SSIS di AzureProvision an Azure SSIS integration runtime

  1. Nella pagina delle attività iniziali fare clic sul riquadro Configure SSIS Integration Runtime (Configura SSIS Integration Runtime).In the get started page, click Configure SSIS Integration Runtime tile.

    Riquadro Configure SSIS Integration Runtime (Configura SSIS Integration Runtime)

  2. Nella pagina Impostazioni generali di Integration Runtime Setup (Installazione di Integration Runtime) completare questa procedura:On the General Settings page of Integration Runtime Setup, complete the following steps:

    Impostazioni generali

    a.a. Per Nome, immettere il nome del runtime di integrazione.For Name, enter the name of your integration runtime.

    b.b. Per Descrizione, immettere la descrizione del runtime di integrazione.For Description, enter the description of your integration runtime.

    c.c. Per Località selezionare la località del runtime di integrazione.For Location, select the location of your integration runtime. Vengono visualizzate solo le località supportate.Only supported locations are displayed. È consigliabile selezionare la stessa località del server di database che ospiterà SSISDB.We recommend that you select the same location of your database server to host SSISDB.

    d.d. Per Dimensioni del nodo, selezionare la dimensione del nodo nel cluster del runtime di integrazione.For Node Size, select the size of node in your integration runtime cluster. Vengono visualizzate solo le dimensioni dei nodi supportate.Only supported node sizes are displayed. Selezionare una dimensione del nodo elevata (scalabilità verticale), se si prevede di eseguire numerosi pacchetti con un uso intensivo della capacità di calcolo o della memoria.Select a large node size (scale up), if you want to run many compute/memory –intensive packages.

    e.e. Per Numero nodo, selezionare il numero di nodi nel cluster del runtime di integrazione.For Node Number, select the number of nodes in your integration runtime cluster. Vengono visualizzati solo i numeri dei nodi supportati.Only supported node numbers are displayed. Selezionare un cluster di grandi dimensioni con molti nodi (scalabilità orizzontale), se si prevede di eseguire numerosi pacchetti in parallelo.Select a large cluster with many nodes (scale out), if you want to run many packages in parallel.

    f.f. Per Edition/License (Edizione/licenza), selezionare l'edizione/licenza di SQL Server per il runtime di integrazione: Standard o Enterprise.For Edition/License, select SQL Server edition/license for your integration runtime: Standard or Enterprise. Selezionare Enterprise se si prevede di usare funzionalità avanzate/premium nel runtime di integrazione.Select Enterprise, if you want to use advanced/premium features on your integration runtime.

    g.g. Per Risparmio sui costi, selezionare l'opzione Vantaggio Azure Hybrid per il runtime di integrazione: Sì o No.For Save Money, select Azure Hybrid Benefit (AHB) option for your integration runtime: Yes or No. Selezionare Sì se si vuole usare la propria licenza di SQL Server con Software Assurance per trarre vantaggio dai risparmi sui costi con Hybrid Use.Select Yes, if you want to bring your own SQL Server license with Software Assurance to benefit from cost savings with hybrid use.

    h.h. Fare clic su Avanti.Click Next.

  3. Nella pagina Impostazioni SQL completare la procedura seguente:On the SQL Settings page, complete the following steps:

    Impostazioni SQL

    a.a. In catalogo SSIS creare... casella di controllo, seleziona la distribuzione del modello per i pacchetti per l'esecuzione in runtime di integrazione Azure-SSIS: File di modello di distribuzione del progetto in cui i pacchetti vengono distribuiti in SSISDB ospitato dal server del database o di modello di distribuzione del pacchetto in cui i pacchetti vengono distribuiti in sistemi/file file condivisioni/Azure.On Create SSIS catalog... checkbox, select the deployment model for packages to run on your Azure-SSIS IR: Project Deployment Model where packages are deployed into SSISDB hosted by your database server or Package Deployment Model where packages are deployed into your file systems/file shares/Azure Files. Se lo si controlla, è necessario portare il proprio server di database per ospitare SSISDB che si creerà e gestirà automaticamente.If you check it, you will need to bring your own database server to host SSISDB that we will create and manage on your behalf.

    b.b. Per Sottoscrizione selezionare la sottoscrizione di Azure contenente il server di database che ospiterà SSISDB.For Subscription, select the Azure subscription that has your database server to host SSISDB.

    c.c. Per Località, selezionare la stessa località del server di database che ospiterà SSISDB.For Location, select the location of your database server to host SSISDB. È consigliabile selezionare la stessa località del runtime di integrazione.We recommend that you select the same location of your integration runtime.

    d.d. Per Catalog Database Server Endpoint (Endpoint server di database del catalogo), selezionare l'endpoint del server di database che ospiterà SSISDB.For Catalog Database Server Endpoint, select the endpoint of your database server to host SSISDB. In base al server di database selezionato, il database SSISDB può essere creato per conto dell'utente come database singolo, parte di un pool elastico o in un'istanza gestita e reso accessibile in una rete pubblica o mediante l'aggiunta a una rete virtuale.Based on the selected database server, SSISDB can be created on your behalf as a single database, part of an elastic pool, or in a Managed Instance and accessible in public network or by joining a virtual network. Per ottenere informazioni sulla scelta del tipo di server di database per ospitare SSISDB, vedere confrontare Database SQL di Azure singolo database/elastic pool/Managed istanza.For guidance in choosing the type of database server to host SSISDB, see Compare Azure SQL Database single database/elastic pool/Managed Instance. Se si seleziona il server di Database SQL di Azure con gli endpoint del servizio rete virtuale/Managed istanza in una rete virtuale per ospitare SSISDB o richiedono l'accesso ai dati locali, è necessario aggiungere il runtime di integrazione Azure-SSIS a una rete virtuale, vedere Join Azure-SSIS IR a una rete virtuale.If you select Azure SQL Database server with virtual network service endpoints/Managed Instance in a virtual network to host SSISDB or require access to on-premises data, you need to join your Azure-SSIS IR to a virtual network, see Join Azure-SSIS IR to a virtual network.

    e.e. Nella casella di controllo Use AAD authentication (Usa autenticazione AAD) selezionare il metodo di autenticazione per il server di database che ospiterà SSISDB: L'autenticazione di SQL o autenticazione di AAD con l'identità gestita per ADF.On Use AAD authentication... checkbox, select the authentication method for your database server to host SSISDB: SQL authentication or AAD authentication with the managed identity for your ADF. Se lo si controlla, è necessario aggiungere l'identità gestita per il file ADF in un gruppo AAD con autorizzazioni di accesso al server di database, vedere autenticazione di AAD di abilitare per Azure-SSIS IR.If you check it, you need to add the managed identity for your ADF into an AAD group with access permissions to your database server, see Enable AAD authentication for Azure-SSIS IR.

    f.f. Per Nome utente amministratore, immettere il nome utente di autenticazione SQL per il server di database che ospiterà SSISDB.For Admin Username, enter SQL authentication username for your database server to host SSISDB.

    g.g. Per Password amministratore, immettere la password di autenticazione SQL per il server di database che ospiterà SSISDB.For Admin Password, enter SQL authentication password for your database server to host SSISDB.

    h.h. Per Catalog Database Service Tier (Livello di servizio del database di catalogo) selezionare il livello di servizio per il server di database che ospiterà SSISDB: livello Basic/Standard/Premium o nome del pool elastico.For Catalog Database Service Tier, select the service tier for your database server to host SSISDB: Basic/Standard/Premium tier or elastic pool name.

    i.i. Fare clic su Test connessione e, in caso di esito positivo, fare clic su Avanti.Click Test Connection and if successful, click Next.

  4. Nella pagina Impostazioni avanzate completare la procedura seguente:On the Advanced Settings page, complete the following steps:

    Impostazioni avanzate

    a.a. Per Maximum Parallel Executions Per Node (Numero massimo di esecuzioni parallele per nodo), selezionare il numero massimo di pacchetti da eseguire contemporaneamente per ogni nodo del cluster del runtime di integrazione.For Maximum Parallel Executions Per Node, select the maximum number of packages to execute concurrently per node in your integration runtime cluster. Vengono visualizzati solo i numeri dei pacchetti supportati.Only supported package numbers are displayed. Selezionare un numero basso se si vuole usare più di un core per eseguire un singolo pacchetto pesante/di grandi dimensioni con un uso intensivo della capacità di calcolo o della memoria.Select a low number, if you want to use more than one core to run a single large/heavy-weight package that is compute/memory -intensive. Selezionare un numero elevato se si vuole eseguire uno o più pacchetti leggeri/di piccole dimensioni un singolo core.Select a high number, if you want to run one or more small/light-weight packages in a single core.

    b.b. Per Custom Setup Container SAS URI (URI di firma di accesso condiviso del contenitore di installazione personalizzata), immettere facoltativamente l'URI (Uniform Resource Identifier) di firma di accesso condiviso del contenitore BLOB di archiviazione di Azure in cui sono archiviati gli script di installazione e i relativi file associati. Vedere Installazione personalizzata per il runtime di integrazione Azure-SSIS.For Custom Setup Container SAS URI, optionally enter Shared Access Signature (SAS) Uniform Resource Identifier (URI) of your Azure Storage Blob container where your setup script and its associated files are stored, see Custom setup for Azure-SSIS IR.

  5. Per la casella di controlloSelect a VNet... (Selezionare una rete virtuale...), selezionare se aggiungere il runtime di integrazione a una rete virtuale.On Select a virtual network... checkbox, select whether you want to join your integration runtime to a virtual network. Verificare se si usano server di Database SQL di Azure con rete virtuale del servizio endpoint gestita/istanza in una rete virtuale per ospitare SSISDB o richiedono l'accesso ai dati in locale. vale a dire, si dispone di origini/destinazioni locali dei dati nei pacchetti SSIS, vedere Join runtime di integrazione Azure-SSIS a una rete virtuale.Check it if you use Azure SQL Database server with virtual network service endpoints/Managed Instance in a virtual network to host SSISDB or require access to on-premises data; that is, you have on-premises data sources/destinations in your SSIS packages, see Join Azure-SSIS IR to a virtual network. Se si seleziona la casella di controllo, completare la procedura seguente:If you check it, complete the following steps:

    Impostazioni avanzate con una rete virtuale

    a.a. In Sottoscrizione selezionare la sottoscrizione di Azure che dispone della rete virtuale.For Subscription, select the Azure subscription that has your virtual network.

    b.b. Per Località viene selezionata la stessa località del runtime di integrazione.For Location, the same location of your integration runtime is selected.

    c.c. Per Tipo, selezionare il tipo di rete virtuale: classica o Azure Resource Manager.For Type, select the type of your virtual network: Classic or Azure Resource Manager. È consigliabile selezionare la rete virtuale di Azure Resource Manager, poiché la rete virtuale classica verrà deprecata a breve.We recommend that you select Azure Resource Manager virtual network, since Classic virtual network will be deprecated soon.

    d.d. Per Nome della rete virtuale selezionare il nome della rete virtuale.For VNet Name, select the name of your virtual network. Questa rete virtuale deve essere uguale a quella usata per il server di Database SQL di Azure con rete virtuale del servizio endpoint gestita/istanza in una rete virtuale per ospitare SSISDB o quello connesso alla rete locale.This virtual network should be the same one used for Azure SQL Database server with virtual network service endpoints/Managed Instance in a virtual network to host SSISDB or the one connected to your on-premises network.

    e.e. Per Nome subnet selezionare il nome della subnet nella rete virtuale.For Subnet Name, select the name of subnet for your virtual network. Deve trattarsi di una subnet diversa da quella utilizzata per l'istanza gestita in una rete virtuale per ospitare SSISDB.This should be a different subnet than the one used for Managed Instance in a virtual network to host SSISDB.

  6. Fare clic su Convalida della rete virtuale e in caso di esito positivo, fare clic su Fine per avviare la creazione del runtime di integrazione di Azure SSIS.Click VNet Validation and if successful, click Finish to start the creation of your Azure-SSIS integration runtime.

    Nota

    Ad eccezione di qualsiasi fase di installazione personalizzato, questo processo deve essere completato entro 5 minuti, ma potrebbe richiedere circa 20-30 minuti per l'aggiunta a una rete virtuale di Azure-SSIS IR.Excluding any custom setup time, this process should be completed within 5 minutes, but could take approximately 20 - 30 minutes for Azure-SSIS IR joining a virtual network.

    Se si usa SSISDB, servizio di Azure Data factory si connetterà al server di database per preparare SSISDB.If you use SSISDB, ADF service will connect to your database server to prepare SSISDB. Inoltre consente di configurare le autorizzazioni e le impostazioni per la rete virtuale, se specificato e viene aggiunto al runtime di integrazione Azure-SSIS alla rete virtuale.It also configures permissions and settings for your virtual network, if specified, and joins your Azure-SSIS IR to the virtual network.

    Quando si effettua il provisioning di un runtime di integrazione SSIS di Azure, vengono installati anche Azure Feature Pack per SSIS e Access Redistributable.When you provision an Azure-SSIS IR, Access Redistributable and Azure Feature Pack for SSIS are also installed. Questi componenti forniscono la connettività ai file di Excel o Access e diverse origini dati di Azure, oltre che alle origini dati già supportate dai componenti predefiniti.These components provide connectivity to Excel/Access files and various Azure data sources, in addition to the data sources already supported by built-in components. È anche possibile installare i componenti aggiuntivi, vedere installazione personalizzata per Azure-SSIS IR.You can also install additional components, see Custom setup for Azure-SSIS IR.

  7. Nella finestra Connessioni passare a Integration Runtimes (Runtime di integrazione), se necessario.In the Connections window, switch to Integration Runtimes if needed. Fare clic su Aggiorna per aggiornare lo stato.Click Refresh to refresh the status.

    Stato creazione

  8. Usare i collegamenti nella colonna Azioni per arrestare/avviare, modificare o eliminare il runtime di integrazione.Use the links under Actions column to stop/start, edit, or delete the integration runtime. Usare l'ultimo collegamento per visualizzare il codice JSON per il runtime di integrazione.Use the last link to view JSON code for the integration runtime. I pulsanti di modifica ed eliminazione sono abilitati solo quando il runtime di integrazione è arrestato.The edit and delete buttons are enabled only when the IR is stopped.

    Azure SSIS Integration Runtime - Azioni

Runtime di integrazione SSIS di Azure nel portaleAzure SSIS integration runtimes in the portal

  1. Nell'interfaccia utente di Azure Data Factory, passare alla scheda Modifica, fare clic su Connessioni e quindi selezionare la scheda Integration Runtimes (Runtime di integrazione) per visualizzare i runtime di integrazione esistenti nella data factory.In the Azure Data Factory UI, switch to the Edit tab, click Connections, and then switch to Integration Runtimes tab to view existing integration runtimes in your data factory.

    Visualizzare i runtime di integrazione esistenti

  2. Fare clic su Nuovo per creare un nuovo runtime di integrazione SSIS di Azure.Click New to create a new Azure-SSIS IR.

    Runtime di integrazione tramite menu

  3. Per creare un runtime di integrazione SSIS di Azure, fare clic su Nuovo come mostrato nell'immagine.To create an Azure-SSIS integration runtime, click New as shown in the image.

  4. Nella finestra Integration Runtime Setup (Installazione di Integration Runtime) selezionare Lift-and-shift existing SSIS packages to execute in Azure (Trasferisci in modalità lift-and-shift i pacchetti SSIS esistenti per l'esecuzione in Azure) e quindi fare clic su Avanti.In the Integration Runtime Setup window, select Lift-and-shift existing SSIS packages to execute in Azure, and then click Next.

    Specificare il tipo di runtime di integrazione

  5. Per i passaggi rimanenti per configurare un runtime di integrazione SSIS di Azure, vedere la sezione Effettuare il provisioning di un runtime di integrazione SSIS di Azure.See the Provision an Azure SSIS integration runtime section for the remaining steps to set up an Azure-SSIS IR.

Azure PowerShellAzure PowerShell

In questa sezione si userà Azure PowerShell per creare un runtime di integrazione Azure-SSIS.In this section, you use the Azure PowerShell to create an Azure-SSIS IR.

Creare le variabiliCreate variables

Copiare e incollare lo script seguente: specificare i valori per le variabili.Copy and paste the following script - Specify values for the variables.

### Azure Data Factory information
# If your input contains a PSH special character, e.g. "$", precede it with the escape character "`" like "`$"
$SubscriptionName = "[your Azure subscription name]"
$ResourceGroupName = "[your Azure resource group name]"
# Data factory name - Must be globally unique
$DataFactoryName = "[your data factory name]"
# For supported regions, see https://azure.microsoft.com/global-infrastructure/services/?products=data-factory&regions=all
$DataFactoryLocation = "EastUS"

### Azure-SSIS integration runtime information - This is a Data Factory compute resource for running SSIS packages
$AzureSSISName = "[your Azure-SSIS IR name]"
$AzureSSISDescription = "[your Azure-SSIS IR description]"
# For supported regions, see https://azure.microsoft.com/global-infrastructure/services/?products=data-factory&regions=all
$AzureSSISLocation = "EastUS"
# For supported node sizes, see https://azure.microsoft.com/pricing/details/data-factory/ssis/
$AzureSSISNodeSize = "Standard_D8_v3"
# 1-10 nodes are currently supported
$AzureSSISNodeNumber = 2
# Azure-SSIS IR edition/license info: Standard or Enterprise
$AzureSSISEdition = "Standard" # Standard by default, while Enterprise lets you use advanced/premium features on your Azure-SSIS IR
# Azure-SSIS IR hybrid usage info: LicenseIncluded or BasePrice
$AzureSSISLicenseType = "LicenseIncluded" # LicenseIncluded by default, while BasePrice lets you bring your own on-premises SQL Server license with Software Assurance to earn cost savings from Azure Hybrid Benefit (AHB) option
# For a Standard_D1_v2 node, up to 4 parallel executions per node are supported, but for other nodes, up to (2 x number of cores) are currently supported
$AzureSSISMaxParallelExecutionsPerNode = 8
# Custom setup info
$SetupScriptContainerSasUri = "" # OPTIONAL to provide SAS URI of blob container where your custom setup script and its associated files are stored
# Virtual network info: Classic or Azure Resource Manager
$VnetId = "[your virtual network resource ID or leave it empty]" # REQUIRED if you use Azure SQL Database server with virtual network service endpoints/Managed Instance in a virtual network/on-premises data, Azure Resource Manager virtual network is recommended, Classic virtual network will be deprecated soon
$SubnetName = "[your subnet name or leave it empty]" # WARNING: Please use the same subnet as the one used with your Azure SQL Database server with virtual network service endpoints or a different subnet than the one used for your Managed Instance in a virtual network

### SSISDB info
$SSISDBServerEndpoint = "[your Azure SQL Database server name.database.windows.net or Managed Instance name.DNS prefix.database.windows.net or Managed Instance name.public.DNS prefix.database.windows.net,3342 or leave it empty if you do not use SSISDB]" # WARNING: If you use SSISDB, please ensure that there is no existing SSISDB on your database server, so we can prepare and manage one on your behalf
# Authentication info: SQL or Azure Active Directory (AAD)
$SSISDBServerAdminUserName = "[your server admin username for SQL authentication or leave it empty for AAD authentication]"
$SSISDBServerAdminPassword = "[your server admin password for SQL authentication or leave it empty for AAD authentication]"
# For the basic pricing tier, specify "Basic", not "B" - For standard/premium/elastic pool tiers, specify "S0", "S1", "S2", "S3", etc., see https://docs.microsoft.com/azure/sql-database/sql-database-resource-limits-database-server
$SSISDBPricingTier = "[Basic|S0|S1|S2|S3|S4|S6|S7|S9|S12|P1|P2|P4|P6|P11|P15|…|ELASTIC_POOL(name = <elastic_pool_name>) for Azure SQL Database server or leave it empty for Managed Instance]"

Accedi e selezionare la sottoscrizioneSign in and select subscription

Aggiungere il codice seguente allo script per accedere e selezionare la sottoscrizione di Azure:Add the following code the script to sign in and select your Azure subscription:

Connect-AzAccount
Select-AzSubscription -SubscriptionName $SubscriptionName

Convalidare la connessione al server di databaseValidate the connection to database server

Aggiungere lo script seguente per convalidare il server di Database SQL di Azure/Managed istanza.Add the following script to validate your Azure SQL Database server/Managed Instance.

# Validate only if you use SSISDB and do not use VNet or AAD authentication
if(![string]::IsNullOrEmpty($SSISDBServerEndpoint))
{
    if([string]::IsNullOrEmpty($VnetId) -and [string]::IsNullOrEmpty($SubnetName))
    {
        if(![string]::IsNullOrEmpty($SSISDBServerAdminUserName) -and ![string]::IsNullOrEmpty($SSISDBServerAdminPassword))
        {
            $SSISDBConnectionString = "Data Source=" + $SSISDBServerEndpoint + ";User ID=" + $SSISDBServerAdminUserName + ";Password=" + $SSISDBServerAdminPassword
            $sqlConnection = New-Object System.Data.SqlClient.SqlConnection $SSISDBConnectionString;
            Try
            {
                $sqlConnection.Open();
            }
            Catch [System.Data.SqlClient.SqlException]
            {
                Write-Warning "Cannot connect to your Azure SQL Database server, exception: $_";
                Write-Warning "Please make sure the server you specified has already been created. Do you want to proceed? [Y/N]"
                $yn = Read-Host
                if(!($yn -ieq "Y"))
                {
                    Return;
                }
            }
        }
    }
}

Configurare la rete virtualeConfigure virtual network

Aggiungere lo script seguente per configurare automaticamente le autorizzazioni/impostazioni della rete virtuale per l'aggiunta del runtime di integrazione SSIS di Azure.Add the following script to automatically configure virtual network permissions/settings for your Azure-SSIS integration runtime to join.

# Make sure to run this script against the subscription to which the virtual network belongs
if(![string]::IsNullOrEmpty($VnetId) -and ![string]::IsNullOrEmpty($SubnetName))
{
    # Register to the Azure Batch resource provider
    $BatchApplicationId = "ddbf3205-c6bd-46ae-8127-60eb93363864"
    $BatchObjectId = (Get-AzADServicePrincipal -ServicePrincipalName $BatchApplicationId).Id
    Register-AzResourceProvider -ProviderNamespace Microsoft.Batch
    while(!(Get-AzResourceProvider -ProviderNamespace "Microsoft.Batch").RegistrationState.Contains("Registered"))
    {
    Start-Sleep -s 10
    }
    if($VnetId -match "/providers/Microsoft.ClassicNetwork/")
    {
        # Assign the VM contributor role to Microsoft.Batch
        New-AzRoleAssignment -ObjectId $BatchObjectId -RoleDefinitionName "Classic Virtual Machine Contributor" -Scope $VnetId
    }
}

Creare un gruppo di risorseCreate a resource group

Creare un gruppo di risorse di Azure con il comando New-AzResourceGroup.Create an Azure resource group using the New-AzResourceGroup command. Un gruppo di risorse è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite come gruppo.A resource group is a logical container into which Azure resources are deployed and managed as a group.

Se il gruppo di risorse esiste già, non copiare questo codice per lo script.If your resource group already exists, do not copy this code to your script.

New-AzResourceGroup -Location $DataFactoryLocation -Name $ResourceGroupName

Creare una data factoryCreate a data factory

Eseguire questo comando per creare una data factory.Run the following command to create a data factory.

Set-AzDataFactoryV2 -ResourceGroupName $ResourceGroupName `
                         -Location $DataFactoryLocation `
                         -Name $DataFactoryName

Creare un runtime di integrazioneCreate an integration runtime

Eseguire questo comando per creare un runtime di integrazione SSIS di Azure che esegue i pacchetti SSIS in Azure.Run the following commands to create an Azure-SSIS integration runtime that runs SSIS packages in Azure.

Se non si usa SSISDB, è possibile omettere i parametri CatalogServerEndpoint CatalogPricingTier e CatalogAdminCredential.If you do not use SSISDB, you can omit CatalogServerEndpoint, CatalogPricingTier, and CatalogAdminCredential parameters.

Se non si utilizza server di Database SQL di Azure con rete virtuale del servizio endpoint gestita/istanza in una rete virtuale per ospitare SSISDB o richiedono l'accesso ai dati locali, è possibile omettere i parametri VNetId e Subnet o passare i valori vuoti per loro.If you do not use Azure SQL Database server with virtual network service endpoints/Managed Instance in a virtual network to host SSISDB or require access to on-premises data, you can omit VNetId and Subnet parameters or pass empty values for them. In caso contrario, non è possibile ometterli ed è necessario passare i valori validi dalla configurazione della rete virtuale, vedere Aggiungere il runtime di integrazione SSIS di Azure a una rete virtuale.Otherwise, you cannot omit them and must pass valid values from your virtual network configuration, see Join Azure-SSIS IR to a virtual network.

Se si usa Istanza gestita per ospitare SSISDB, è possibile omettere il parametro CatalogPricingTier o passare al suo posto un valore vuoto.If you use Managed Instance to host SSISDB, you can omit CatalogPricingTier parameter or pass an empty value for it. In caso contrario, non è possibile ometterlo ed è necessario passare un valore valido dall'elenco dei livelli di prezzo supportati per il Database SQL di Azure, vedere Limiti delle risorse del Database SQL.Otherwise, you cannot omit it and must pass a valid value from the list of supported pricing tiers for Azure SQL Database, see SQL Database resource limits.

Se si usa l'autenticazione di Azure Active Directory (AAD) con l'identità gestita per l'Azure Data factory per connettersi al server di database, è possibile omettere il parametro CatalogAdminCredential, ma è necessario aggiungere l'identità gestita per il file ADF in un gruppo AAD con accesso le autorizzazioni per il server di database, vedere autenticazione di AAD di abilitare per Azure-SSIS IR.If you use Azure Active Directory (AAD) authentication with the managed identity for your ADF to connect to the database server, you can omit CatalogAdminCredential parameter, but you must add the managed identity for your ADF into an AAD group with access permissions to the database server, see Enable AAD authentication for Azure-SSIS IR. In caso contrario, non sarà possibile ometterlo e si dovrà passare un oggetto valido formato dal nome utente e dalla password dell'amministratore server per l'autenticazione SQL.Otherwise, you cannot omit it and must pass a valid object formed from your server admin username and password for SQL authentication.

Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                           -DataFactoryName $DataFactoryName `
                                           -Name $AzureSSISName `
                                           -Description $AzureSSISDescription `
                                           -Type Managed `
                                           -Location $AzureSSISLocation `
                                           -NodeSize $AzureSSISNodeSize `
                                           -NodeCount $AzureSSISNodeNumber `
                                           -Edition $AzureSSISEdition `
                                           -LicenseType $AzureSSISLicenseType `
                                           -MaxParallelExecutionsPerNode $AzureSSISMaxParallelExecutionsPerNode `
                                           -VnetId $VnetId `
                                           -Subnet $SubnetName
       
# Add CatalogServerEndpoint, CatalogPricingTier, and CatalogAdminCredential parameters if you use SSISDB
if(![string]::IsNullOrEmpty($SSISDBServerEndpoint))
{
    Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                               -DataFactoryName $DataFactoryName `
                                               -Name $AzureSSISName `
                                               -CatalogServerEndpoint $SSISDBServerEndpoint `
                                               -CatalogPricingTier $SSISDBPricingTier

    if(![string]::IsNullOrEmpty($SSISDBServerAdminUserName) –and ![string]::IsNullOrEmpty($SSISDBServerAdminPassword)) # Add CatalogAdminCredential parameter if you do not use AAD authentication
    {
        $secpasswd = ConvertTo-SecureString $SSISDBServerAdminPassword -AsPlainText -Force
        $serverCreds = New-Object System.Management.Automation.PSCredential($SSISDBServerAdminUserName, $secpasswd)

        Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                                   -DataFactoryName $DataFactoryName `
                                                   -Name $AzureSSISName `
                                                   -CatalogAdminCredential $serverCreds
    }
}

# Add SetupScriptContainerSasUri parameter if you use custom setup
if(![string]::IsNullOrEmpty($SetupScriptContainerSasUri))
{
    Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                               -DataFactoryName $DataFactoryName `
                                               -Name $AzureSSISName `
                                               -SetupScriptContainerSasUri $SetupScriptContainerSasUri
}

Avviare il runtime di integrazioneStart integration runtime

Eseguire i comandi seguenti per avviare il runtime di integrazione SSIS di Azure.Run the following commands to start the Azure-SSIS integration runtime.

write-host("##### Starting #####")
Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                             -DataFactoryName $DataFactoryName `
                                             -Name $AzureSSISName `
                                             -Force

write-host("##### Completed #####")
write-host("If any cmdlet is unsuccessful, please consider using -Debug option for diagnostics.")

Nota

Ad eccezione di qualsiasi fase di installazione personalizzato, questo processo deve essere completato entro 5 minuti, ma potrebbe richiedere circa 20-30 minuti per l'aggiunta a una rete virtuale di Azure-SSIS IR.Excluding any custom setup time, this process should be completed within 5 minutes, but could take approximately 20 - 30 minutes for Azure-SSIS IR joining a virtual network.

Se si usa SSISDB, servizio di Azure Data factory si connetterà al server di database per preparare SSISDB.If you use SSISDB, ADF service will connect to your database server to prepare SSISDB. Inoltre consente di configurare le autorizzazioni e le impostazioni per la rete virtuale, se specificato e viene aggiunto al runtime di integrazione Azure-SSIS alla rete virtuale.It also configures permissions and settings for your virtual network, if specified, and joins your Azure-SSIS IR to the virtual network.

Quando si effettua il provisioning di un runtime di integrazione SSIS di Azure, vengono installati anche Azure Feature Pack per SSIS e Access Redistributable.When you provision an Azure-SSIS IR, Access Redistributable and Azure Feature Pack for SSIS are also installed. Questi componenti forniscono la connettività ai file di Excel o Access e diverse origini dati di Azure, oltre che alle origini dati già supportate dai componenti predefiniti.These components provide connectivity to Excel/Access files and various Azure data sources, in addition to the data sources already supported by built-in components. È anche possibile installare i componenti aggiuntivi, vedere installazione personalizzata per Azure-SSIS IR.You can also install additional components, see Custom setup for Azure-SSIS IR.

Script completoFull script

Di seguito è riportato lo script completo che consente di creare un runtime di integrazione SSIS di Azure.Here is the full script that creates an Azure-SSIS integration runtime.

### Azure Data Factory information
# If your input contains a PSH special character, e.g. "$", precede it with the escape character "`" like "`$"
$SubscriptionName = "[your Azure subscription name]"
$ResourceGroupName = "[your Azure resource group name]"
# Data factory name - Must be globally unique
$DataFactoryName = "[your data factory name]"
# For supported regions, see https://azure.microsoft.com/global-infrastructure/services/?products=data-factory&regions=all
$DataFactoryLocation = "EastUS"

### Azure-SSIS integration runtime information - This is a Data Factory compute resource for running SSIS packages
$AzureSSISName = "[your Azure-SSIS IR name]"
$AzureSSISDescription = "[your Azure-SSIS IR description]"
# For supported regions, see https://azure.microsoft.com/global-infrastructure/services/?products=data-factory&regions=all
$AzureSSISLocation = "EastUS"
# For supported node sizes, see https://azure.microsoft.com/pricing/details/data-factory/ssis/
$AzureSSISNodeSize = "Standard_D8_v3"
# 1-10 nodes are currently supported
$AzureSSISNodeNumber = 2
# Azure-SSIS IR edition/license info: Standard or Enterprise
$AzureSSISEdition = "Standard" # Standard by default, while Enterprise lets you use advanced/premium features on your Azure-SSIS IR
# Azure-SSIS IR hybrid usage info: LicenseIncluded or BasePrice
$AzureSSISLicenseType = "LicenseIncluded" # LicenseIncluded by default, while BasePrice lets you bring your own on-premises SQL Server license with Software Assurance to earn cost savings from Azure Hybrid Benefit (AHB) option
# For a Standard_D1_v2 node, up to 4 parallel executions per node are supported, but for other nodes, up to (2 x number of cores) are currently supported
$AzureSSISMaxParallelExecutionsPerNode = 8
# Custom setup info
$SetupScriptContainerSasUri = "" # OPTIONAL to provide SAS URI of blob container where your custom setup script and its associated files are stored
# Virtual network info: Classic or Azure Resource Manager
$VnetId = "[your virtual network resource ID or leave it empty]" # REQUIRED if you use Azure SQL Database server with virtual network service endpoints/Managed Instance in a virtual network/on-premises data, Azure Resource Manager virtual network is recommended, Classic virtual network will be deprecated soon
$SubnetName = "[your subnet name or leave it empty]" # WARNING: Please use the same subnet as the one used with your Azure SQL Database server with virtual network service endpoints or a different subnet than the one used for your Managed Instance in a virtual network

### SSISDB info
$SSISDBServerEndpoint = "[your Azure SQL Database server name.database.windows.net or Managed Instance name.DNS prefix.database.windows.net or Managed Instance name.public.DNS prefix.database.windows.net,3342 or leave it empty if you do not use SSISDB]" # WARNING: If you use SSISDB, please ensure that there is no existing SSISDB on your database server, so we can prepare and manage one on your behalf
# Authentication info: SQL or Azure Active Directory (AAD)
$SSISDBServerAdminUserName = "[your server admin username for SQL authentication or leave it empty for AAD authentication]"
$SSISDBServerAdminPassword = "[your server admin password for SQL authentication or leave it empty for AAD authentication]"
# For the basic pricing tier, specify "Basic", not "B" - For standard/premium/elastic pool tiers, specify "S0", "S1", "S2", "S3", etc., see https://docs.microsoft.com/azure/sql-database/sql-database-resource-limits-database-server
$SSISDBPricingTier = "[Basic|S0|S1|S2|S3|S4|S6|S7|S9|S12|P1|P2|P4|P6|P11|P15|…|ELASTIC_POOL(name = <elastic_pool_name>) for Azure SQL Database server or leave it empty for Managed Instance]"

### Sign in and select subscription
Connect-AzAccount
Select-AzSubscription -SubscriptionName $SubscriptionName

### Validate the connection to database server
# Validate only if you use SSISDB and do not use VNet or AAD authentication
if(![string]::IsNullOrEmpty($SSISDBServerEndpoint))
{
    if([string]::IsNullOrEmpty($VnetId) -and [string]::IsNullOrEmpty($SubnetName))
    {
        if(![string]::IsNullOrEmpty($SSISDBServerAdminUserName) -and ![string]::IsNullOrEmpty($SSISDBServerAdminPassword))
        {
            $SSISDBConnectionString = "Data Source=" + $SSISDBServerEndpoint + ";User ID=" + $SSISDBServerAdminUserName + ";Password=" + $SSISDBServerAdminPassword
            $sqlConnection = New-Object System.Data.SqlClient.SqlConnection $SSISDBConnectionString;
            Try
            {
                $sqlConnection.Open();
            }
            Catch [System.Data.SqlClient.SqlException]
            {
                Write-Warning "Cannot connect to your Azure SQL Database server, exception: $_";
                Write-Warning "Please make sure the server you specified has already been created. Do you want to proceed? [Y/N]"
                $yn = Read-Host
                if(!($yn -ieq "Y"))
                {
                    Return;
                }
            }
        }
    }
}

### Configure virtual network
# Make sure to run this script against the subscription to which the virtual network belongs
if(![string]::IsNullOrEmpty($VnetId) -and ![string]::IsNullOrEmpty($SubnetName))
{
    # Register to the Azure Batch resource provider
    $BatchApplicationId = "ddbf3205-c6bd-46ae-8127-60eb93363864"
    $BatchObjectId = (Get-AzADServicePrincipal -ServicePrincipalName $BatchApplicationId).Id
    Register-AzResourceProvider -ProviderNamespace Microsoft.Batch
    while(!(Get-AzResourceProvider -ProviderNamespace "Microsoft.Batch").RegistrationState.Contains("Registered"))
    {
    Start-Sleep -s 10
    }
    if($VnetId -match "/providers/Microsoft.ClassicNetwork/")
    {
        # Assign the VM contributor role to Microsoft.Batch
        New-AzRoleAssignment -ObjectId $BatchObjectId -RoleDefinitionName "Classic Virtual Machine Contributor" -Scope $VnetId
    }
}

### Create a data factory
Set-AzDataFactoryV2 -ResourceGroupName $ResourceGroupName `
                         -Location $DataFactoryLocation `
                         -Name $DataFactoryName

### Create an integration runtime
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                           -DataFactoryName $DataFactoryName `
                                           -Name $AzureSSISName `
                                           -Description $AzureSSISDescription `
                                           -Type Managed `
                                           -Location $AzureSSISLocation `
                                           -NodeSize $AzureSSISNodeSize `
                                           -NodeCount $AzureSSISNodeNumber `
                                           -Edition $AzureSSISEdition `
                                           -LicenseType $AzureSSISLicenseType `
                                           -MaxParallelExecutionsPerNode $AzureSSISMaxParallelExecutionsPerNode `
                                           -VnetId $VnetId `
                                           -Subnet $SubnetName
       
# Add CatalogServerEndpoint, CatalogPricingTier, and CatalogAdminCredential parameters if you use SSISDB
if(![string]::IsNullOrEmpty($SSISDBServerEndpoint))
{
    Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                               -DataFactoryName $DataFactoryName `
                                               -Name $AzureSSISName `
                                               -CatalogServerEndpoint $SSISDBServerEndpoint `
                                               -CatalogPricingTier $SSISDBPricingTier

    if(![string]::IsNullOrEmpty($SSISDBServerAdminUserName) –and ![string]::IsNullOrEmpty($SSISDBServerAdminPassword)) # Add CatalogAdminCredential parameter if you do not use AAD authentication
    {
        $secpasswd = ConvertTo-SecureString $SSISDBServerAdminPassword -AsPlainText -Force
        $serverCreds = New-Object System.Management.Automation.PSCredential($SSISDBServerAdminUserName, $secpasswd)

        Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                                   -DataFactoryName $DataFactoryName `
                                                   -Name $AzureSSISName `
                                                   -CatalogAdminCredential $serverCreds
    }
}

# Add SetupScriptContainerSasUri parameter when you use custom setup
if(![string]::IsNullOrEmpty($SetupScriptContainerSasUri))
{
    Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                               -DataFactoryName $DataFactoryName `
                                               -Name $AzureSSISName `
                                               -SetupScriptContainerSasUri $SetupScriptContainerSasUri
}

### Start integration runtime
write-host("##### Starting #####")
Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                             -DataFactoryName $DataFactoryName `
                                             -Name $AzureSSISName `
                                             -Force

write-host("##### Completed #####")
write-host("If any cmdlet is unsuccessful, please consider using -Debug option for diagnostics.")

Modello di Azure Resource ManagerAzure Resource Manager template

In questa sezione si userà il modello di Azure Resource Manager per creare un runtime di integrazione Azure-SSIS.In this section, you use the Azure Resource Manager template to create Azure-SSIS integration runtime. Di seguito è riportata una procedura dettagliata di esempio:Here is a sample walkthrough:

  1. Creare un file JSON con il modello di Resource Manager di Azure seguente.Create a JSON file with the following Azure Resource Manager template. Sostituire i valori nelle parentesi angolari (segnaposto) con valori personalizzati.Replace values in the angled brackets (place holders) with your own values.

    {
      "contentVersion": "1.0.0.0",
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "parameters": {},
        "variables": {},
        "resources": [{
            "name": "<Specify a name for your data factory>",
            "apiVersion": "2018-06-01",
            "type": "Microsoft.DataFactory/factories",
            "location": "East US",
            "properties": {},
            "resources": [{
                "type": "integrationruntimes",
                "name": "<Specify a name for your Azure-SSIS IR>",
                "dependsOn": [ "<The name of the data factory you specified at the beginning>" ],
                "apiVersion": "2018-06-01",
                "properties": {
                    "type": "Managed",
                    "typeProperties": {
                        "computeProperties": {
                            "location": "East US",
                            "nodeSize": "Standard_D8_v3",
                            "numberOfNodes": 1,
                            "maxParallelExecutionsPerNode": 8
                        },
                        "ssisProperties": {
                            "catalogInfo": {
                                "catalogServerEndpoint": "<Azure SQL Database server name>.database.windows.net",
                                "catalogAdminUserName": "<Azure SQL Database server admin username>",
                                "catalogAdminPassword": {
                                    "type": "SecureString",
                                    "value": "<Azure SQL Database server admin password>"
                                },
                                "catalogPricingTier": "Basic"
                            }
                        }
                    }
                }
            }]
        }]
    }
    
  2. Per distribuire il modello di Azure Resource Manager, eseguire comando New-AzResourceGroupDeployment come illustrato nell'esempio seguente, dove ADFTutorialResourceGroup è il nome del gruppo di risorse e adftutorialarm. JSON è il file che contiene la definizione JSON per data factory e del runtime di integrazione SSIS di Azure.To deploy the Azure Resource Manager template, run New-AzResourceGroupDeployment command as shown in the following example, where ADFTutorialResourceGroup is the name of your resource group and ADFTutorialARM.json is the file that contains JSON definition for your data factory and Azure-SSIS IR.

    New-AzResourceGroupDeployment -Name MyARMDeployment -ResourceGroupName ADFTutorialResourceGroup -TemplateFile ADFTutorialARM.json
    

    Questo comando crea la data factory e, al suo interno, un runtime di integrazione Azure-SSIS, senza avviarlo.This command creates your data factory and Azure-SSIS IR in it, but it does not start the IR.

  3. Per avviare il runtime di integrazione Azure-SSIS, eseguire il comando Start-AzDataFactoryV2IntegrationRuntime:To start your Azure-SSIS IR, run Start-AzDataFactoryV2IntegrationRuntime command:

    Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName "<Resource Group Name>" `
                                                 -DataFactoryName "<Data Factory Name>" `
                                                 -Name "<Azure SSIS IR Name>" `
                                                 -Force
    

Nota

Ad eccezione di qualsiasi fase di installazione personalizzato, questo processo deve essere completato entro 5 minuti, ma potrebbe richiedere circa 20-30 minuti per l'aggiunta a una rete virtuale di Azure-SSIS IR.Excluding any custom setup time, this process should be completed within 5 minutes, but could take approximately 20 - 30 minutes for Azure-SSIS IR joining a virtual network.

Se si usa SSISDB, servizio di Azure Data factory si connetterà al server di database per preparare SSISDB.If you use SSISDB, ADF service will connect to your database server to prepare SSISDB. Inoltre consente di configurare le autorizzazioni e le impostazioni per la rete virtuale, se specificato e viene aggiunto al runtime di integrazione Azure-SSIS alla rete virtuale.It also configures permissions and settings for your virtual network, if specified, and joins your Azure-SSIS IR to the virtual network.

Quando si effettua il provisioning di un runtime di integrazione SSIS di Azure, vengono installati anche Azure Feature Pack per SSIS e Access Redistributable.When you provision an Azure-SSIS IR, Access Redistributable and Azure Feature Pack for SSIS are also installed. Questi componenti forniscono la connettività ai file di Excel o Access e diverse origini dati di Azure, oltre che alle origini dati già supportate dai componenti predefiniti.These components provide connectivity to Excel/Access files and various Azure data sources, in addition to the data sources already supported by built-in components. È anche possibile installare i componenti aggiuntivi, vedere installazione personalizzata per Azure-SSIS IR.You can also install additional components, see Custom setup for Azure-SSIS IR.

Distribuire pacchetti SSISDeploy SSIS packages

Se si usa SSISDB, è possibile distribuire i pacchetti al suo interno ed eseguirli nel runtime di integrazione SSIS di Azure usando gli strumenti SSDT o SSMS che si connettono al server di database tramite l'endpoint server.If you use SSISDB, you can deploy your packages into it and run them on Azure-SSIS IR using SSDT/SSMS tools that connect to your database server via its server endpoint. Server di Database SQL di Azure/istanza gestita in un'istanza gestita/rete virtuale con un endpoint pubblico, il formato dell'endpoint server è <server name>.database.windows.net / <server name>.<dns prefix>.database.windows.net / <server name>.public.<dns prefix>.database.windows.net,3342, rispettivamente.For Azure SQL Database server/Managed Instance in a virtual network/Managed instance with a public endpoint, the server endpoint format is <server name>.database.windows.net/<server name>.<dns prefix>.database.windows.net/<server name>.public.<dns prefix>.database.windows.net,3342, respectively. Se non si usa SSISDB, è possibile distribuire i pacchetti in Azure o le condivisioni file sistemi/file i file e la relativa esecuzione nel runtime di integrazione Azure-SSIS usando dtinstall / dtutil / dtexec utilità della riga di comando.If you do not use SSISDB, you can deploy your packages into file systems/file shares/Azure Files and run them on Azure-SSIS IR using dtinstall/dtutil/dtexec command line utilities. Per altre informazioni, vedere distribuire pacchetti SSIS.For more information, see Deploy SSIS packages. In entrambi i casi, è anche possibile eseguire i pacchetti distribuiti nel runtime di integrazione Azure-SSIS usando l'attività Esegui pacchetto SSIS in pipeline di Azure Data factory, vedere esecuzione come attività di Azure Data factory di prima classe di un pacchetto SSIS richiamare.In both cases, you can also run your deployed packages on Azure-SSIS IR using Execute SSIS Package activity in ADF pipelines, see Invoke SSIS package execution as a first-class ADF activity.

Passaggi successiviNext steps

Vedere anche gli altri argomenti di runtime di integrazione Azure-SSIS in questa documentazione:See also other Azure-SSIS IR topics in this documentation: