Migrazione lift-and-shift dei carichi di lavoro di SQL Server Integration Services nel cloudLift and shift SQL Server Integration Services workloads to the cloud

Si applica a:Applies to: sìSQL ServerSQL Server (tutte le versioni supportate) yesSQL ServerSQL Server (all supported versions) sì SSIS Integration Runtime in Azure Data FactorySSIS Integration Runtime in Azure Data Factoryyes SSIS Integration Runtime in Azure Data FactorySSIS Integration Runtime in Azure Data FactorySi applica a:Applies to: sìSQL ServerSQL Server (tutte le versioni supportate) yesSQL ServerSQL Server (all supported versions) sì SSIS Integration Runtime in Azure Data FactorySSIS Integration Runtime in Azure Data Factoryyes SSIS Integration Runtime in Azure Data FactorySSIS Integration Runtime in Azure Data Factory

È ora possibile spostare progetti, pacchetti e carichi di lavoro di SQL Server Integration Services (SSIS) nel cloud di Azure.You can now move your SQL Server Integration Services (SSIS) projects, packages, and workloads to the Azure cloud. Distribuire, eseguire e gestire progetti e pacchetti SSIS nel catalogo SSIS (SSISDB) per il database SQL di Azure o Istanza gestita di database SQL con strumenti noti come SQL Server Management Studio (SSMS).Deploy, run, and manage SSIS projects and packages in the SSIS Catalog (SSISDB) on Azure SQL Database or SQL Database Managed Instance with familiar tools such as SQL Server Management Studio (SSMS).

VantaggiBenefits

Spostare i carichi di lavoro SSIS locali in Azure presenta i potenziali vantaggi seguenti:Moving your on-premises SSIS workloads to Azure has the following potential benefits:

  • Riduzione dei costi operativi e riduzione delle attività di gestione dell'infrastruttura svolte quando si esegue SSIS in locale o in macchine virtuali di Azure.Reduce operational costs and reduce the burden of managing infrastructure that you have when you run SSIS on-premises or on Azure virtual machines.
  • Aumento della disponibilità elevata con la possibilità di specificare più nodi per cluster, nonché le funzionalità di disponibilità elevata di Azure e del database SQL di Azure.Increase high availability with the ability to specify multiple nodes per cluster, as well as the high availability features of Azure and of Azure SQL Database.
  • Aumento della scalabilità con la possibilità di specificare più core per nodo (riduzione del numero di istanze) e più nodi per cluster (aumento del numero di istanze).Increase scalability with the ability to specify multiple cores per node (scale up) and multiple nodes per cluster (scale out).

Architettura di SSIS in AzureArchitecture of SSIS on Azure

Nella tabella seguente vengono evidenziate le differenze tra SSIS in locale e SSIS in Azure.The following table highlights the differences between SSIS on premises and SSIS on Azure.

La differenza più significativa è la separazione dell'archiviazione dal runtime.The most significant difference is the separation of storage from runtime. Azure Data Factory ospita il motore di runtime per i pacchetti SSIS in Azure.Azure Data Factory hosts the runtime engine for SSIS packages on Azure. Il motore di runtime è definito Runtime di integrazione Azure-SSIS (Azure-SSIS IR).The runtime engine is called the Azure-SSIS Integration Runtime (Azure-SSIS IR). Per altre informazioni, vedere Runtime di integrazione Azure-SSIS.For more info, see Azure-SSIS Integration Runtime.

LocationLocation ArchiviazioneStorage RuntimeRuntime ScalabilitàScalability
LocaleOn premises SQL ServerSQL Server Runtime SSIS ospitato da SQL ServerSSIS runtime hosted by SQL Server SQL Server Integration Services Scale Out (in SQL Server 2017 e versioni successive)SSIS Scale Out (in SQL Server 2017 and later)

Soluzioni personalizzate (nelle versioni precedenti di SQL Server)Custom solutions (in prior versions of SQL Server)
In AzureOn Azure Database SQL o Istanza gestita di database SQLSQL Database or SQL Database Managed Instance Runtime di integrazione Azure-SSIS, un componente di Azure Data FactoryAzure-SSIS Integration Runtime, a component of Azure Data Factory Opzioni di scalabilità per il runtime di integrazione Azure-SSISScaling options for the Azure-SSIS Integration Runtime

Provisioning di SSIS in AzureProvision SSIS on Azure

Provisioning.Provision. Prima di distribuire ed eseguire i pacchetti SSIS in Azure, è necessario eseguire il provisioning del catalogo SSIS (SSISDB) e del runtime di integrazione Azure-SSIS.Before you can deploy and run SSIS packages in Azure, you have to provision the SSIS Catalog (SSISDB) and the Azure-SSIS Integration Runtime.

È sufficiente eseguire il provisioning del runtime di integrazione Azure-SSIS una sola volta.You only have to provision the Azure-SSIS IR one time. Successivamente, è possibile usare strumenti familiari, ad esempio SQL Server Data Tools (SSDT) e SQL Server Management Studio (SSMS), per distribuire, configurare, eseguire, monitorare, pianificare e gestire i pacchetti.After that, you can use familiar tools such as SQL Server Data Tools (SSDT) and SQL Server Management Studio (SSMS) to deploy, configure, run, monitor, schedule, and manage packages.

Nota

Il runtime di integrazione Azure-SSIS non è ancora disponibile in tutte le aree di Azure.The Azure-SSIS Integration Runtime is not yet available in all Azure regions. Per informazioni sulle aree supportate, vedere i prodotti Microsoft Azure disponibili in base all'area geografica.For info about the supported regions, see Products available by region - Microsoft Azure.

Scalabilità verticale e orizzontale. Quando si esegue il provisioning del runtime di integrazione Azure-SSIS, è possibile aumentare e ridurre il numero di istanze specificando i valori per le opzioni seguenti:Scale up and out. When you provision the Azure-SSIS IR, you can scale up and scale out by specifying values for the following options:

  • La dimensione del nodo, incluso il numero di core, e il numero di nodi del cluster.The node size (including the number of cores) and the number of nodes in the cluster.
  • L'istanza esistente del database SQL di Azure per ospitare il database del catalogo SSIS (SSISDB) e il livello di servizio per il database.The existing instance of Azure SQL Database to host the SSIS Catalog Database (SSISDB), and the service tier for the database.
  • Le esecuzioni parallele massime per ogni nodo.The maximum parallel executions per node.

Miglioramento delle prestazioni.Improve performance. Per altre informazioni, vedere Configurare il runtime di integrazione Azure-SSIS per garantire prestazioni elevate.For more info, see Configure the Azure-SSIS Integration Runtime for high performance.

Riduzione dei costi.Reduce costs. Per ridurre i costi, eseguire il runtime di integrazione Azure-SSIS solo quando necessario.To reduce costs, run the Azure-SSIS IR only when you need it. Per altre informazioni, vedere Come avviare e arrestare il runtime di integrazione Azure SSIS in base a una pianificazione.For more info, see How to schedule starting and stopping of an Azure SSIS integration runtime.

Progettare pacchettiDesign packages

Continuare a progettare e compilare i pacchetti in locale in SSDT o in Visual Studio con SSDT installato.You continue to design and build packages on-premises in SSDT, or in Visual Studio with SSDT installed.

Connettersi alle origini datiConnect to data sources

Per connettersi alle origini dati locali dal cloud con l'autenticazione di Windows, vedere Connettersi a origini dati e condivisioni file con l'autenticazione di Windows in pacchetti SSIS in Azure.To connect to on-premises data sources from the cloud with Windows authentication, see Connect to data sources and file shares with Windows Authentication from SSIS packages in Azure.

Per connettersi a file e condivisioni file, vedere Aprire e salvare file in locale e in Azure con pacchetti SSIS distribuiti in Azure.To connect to files and file shares, see Open and save files on premises and in Azure with SSIS packages deployed in Azure.

Componenti SSIS disponibiliAvailable SSIS components

Quando si effettua il provisioning di un'istanza del database SQL per ospitare SSISDB, vengono installati anche il Feature Pack di Azure per SSIS e Access Redistributable.When you provision an instance of SQL Database to host SSISDB, the Azure Feature Pack for SSIS and the Access Redistributable are also installed. Questi componenti offrono la connettività a varie origini dati di Azure e ai file di Excel e Access, oltre che alle origini dati supportate dai componenti predefiniti.These components provide connectivity to various Azure data sources and to Excel and Access files, in addition to the data sources supported by the built-in components.

È anche possibile installare componenti aggiuntivi, ad esempio un driver non installato per impostazione predefinita.You can also install additional components - for example, you can install a driver that's not installed by default. Per altre informazioni, vedere Personalizzare l'installazione del runtime di integrazione Azure-SSIS.For more info, see Customize setup for the Azure-SSIS integration runtime.

Se si ha una licenza Enterprise Edition, sono disponibili componenti aggiuntivi.If you have an Enterprise Edition license, additional components are available. Per altre informazioni, vedere Provisioning della Enterprise Edition per il Runtime di integrazione Azure-SSIS.For more info, see Provision Enterprise Edition for the Azure-SSIS Integration Runtime.

Se l'utente è un ISV può aggiornare l'installazione dei componenti concessi in licenza per renderli disponibili in Azure.If you're an ISV, you can update the installation of your licensed components to make them available on Azure. Per altre informazioni, vedere Installare componenti personalizzati a pagamento o concessi in licenza per il runtime di integrazione Azure-SSIS.For more info, see Install paid or licensed custom components for the Azure-SSIS integration runtime.

Supporto delle transazioniTransaction support

Con SQL Server in locale e nelle macchine virtuali Azure, è possibile usare le transazioni Microsoft Distributed Transaction Coordinator (MSDTC).With SQL Server on premises and on Azure virtual machines, you can use Microsoft Distributed Transaction Coordinator (MSDTC) transactions. Per configurare MSDTC in ogni nodo del runtime di integrazione Azure-SSIS usare la funzionalità di installazione personalizzata.To configure MSDTC on each node of the Azure-SSIS IR, use the custom setup capability. Per altre informazioni, vedere Installazione personalizzata per il runtime di integrazione Azure-SSIS.For more info, see Custom setup for the Azure-SSIS integration runtime.

Con il database SQL di Azure è possibile usare solo le transazioni elastiche.With Azure SQL Database, you can only use elastic transactions. Per altre informazioni, vedere Transazioni distribuite in database cloud.For more info, see Distributed transactions across cloud databases.

Distribuire ed eseguire i pacchettiDeploy and run packages

Per iniziare, vedere Esercitazione: Distribuire ed eseguire un pacchetto di SQL Server Integration Services (SSIS) in Azure.To get started, see Tutorial: Deploy and run a SQL Server Integration Services (SSIS) package in Azure.

PrerequisitiPrerequisites

Per distribuire pacchetti SSIS in Azure è necessario avere una delle versioni seguenti di SQL Server Data Tools (SSDT):To deploy SSIS packages to Azure, you have to have one of the following versions of SQL Server Data Tools (SSDT):

  • Per Visual Studio 2017, versione 15.3 o successiva.For Visual Studio 2017, version 15.3 or later.
  • Per Visual Studio 2015, versione 17.2 o successiva.For Visual Studio 2015, version 17.2 or later.

Connettersi a SSISDBConnect to SSISDB

Il nome del database SQL che ospita SSISDB diventa la prima parte del nome in quattro parti da usare quando si distribuiscono ed eseguono pacchetti da SSDT e SSMS, con il formato seguente: <sql_database_name>.database.windows.net.The name of the SQL Database that hosts SSISDB becomes the first part of the four-part name to use when you deploy and run packages from SSDT and SSMS, in the following format - <sql_database_name>.database.windows.net. Per altre informazioni su come connettersi al database del catalogo SSIS in Azure, vedere Connettersi al catalogo SSIS (SSISDB) in Azure.For more info about how to connect to the SSIS Catalog database in Azure, see Connect to the SSIS Catalog (SSISDB) in Azure.

Distribuire progetti e pacchettiDeploy projects and packages

Per la distribuzione di progetti a SSISDB in Azure è necessario usare il modello di distribuzione dei progetti e non il modello di distribuzione dei pacchetti.You have to use the project deployment model, not the package deployment model, when you deploy projects to SSISDB on Azure.

Per distribuire progetti in Azure è possibile usare diversi strumenti e opzioni di scripting comuni:To deploy projects on Azure, you can use one of several familiar tools and scripting options:

  • SQL Server Management Studio (SSMS)SQL Server Management Studio (SSMS)
  • Transact-SQL (da SSMS, Visual Studio Code o un altro strumento)Transact-SQL (from SSMS, Visual Studio Code, or another tool)
  • Uno strumento da riga di comandoA command-line tool
  • PowerShell o C# e il modello a oggetti di gestione di SSISPowerShell or C# and the SSIS management object model

Il processo di distribuzione convalida i pacchetti, per verificare che siano eseguibili nel runtime di integrazione SSIS di Azure.The deployment process validates packages to ensure that they can run on the Azure-SSIS Integration Runtime. Per altre informazioni, vedere Convalidare i pacchetti SQL Server Integration Services (SSIS) distribuiti in Azure.For more info, see Validate SQL Server Integration Services (SSIS) packages deployed to Azure.

Per un esempio di distribuzione in cui si usano SSMS e la Distribuzione guidata Integration Services, vedere Esercitazione: Distribuire ed eseguire un pacchetto di SQL Server Integration Services (SSIS) in Azure.For a deployment example that uses SSMS and the Integration Services Deployment Wizard, see Tutorial: Deploy and run a SQL Server Integration Services (SSIS) package in Azure.

Supporto versioneVersion support

È possibile distribuire in Azure un pacchetto creato con qualsiasi versione di SSIS.You can deploy a package created with any version of SSIS to Azure. Quando si distribuisce un pacchetto in Azure, se non si verificano errori di convalida il pacchetto viene aggiornato automaticamente al formato più recente.When you deploy a package to Azure, if there are no validation errors, the package is automatically upgraded to the latest package format. In altri termini il pacchetto viene sempre aggiornato alla versione più recente di SSIS.In other words, it is always upgraded to the latest version of SSIS.

Eseguire i pacchettiRun packages

Per eseguire pacchetti SSIS distribuiti in Azure, è possibile usare diversi metodi.To run SSIS packages deployed in Azure, you can use a variety of methods. Per altre informazioni, vedere Eseguire i pacchetti SQL Server Integration Services (SSIS) distribuiti in Azure.For more info, see Run SQL Server Integration Services (SSIS) packages deployed in Azure.

Eseguire i pacchetti in una pipeline di Azure Data FactoryRun packages in an Azure Data Factory pipeline

Per eseguire un pacchetto SSIS in una pipeline di Azure Data Factory, usare l'attività Esegui pacchetto SSIS.To run an SSIS package in an Azure Data Factory pipeline, use the Execute SSIS Package Activity. Per altre informazioni, vedere Eseguire un pacchetto SSIS tramite l'attività Esegui pacchetto SSIS in Azure Data Factory.For more info, see Run an SSIS package using the Execute SSIS Package Activity in Azure Data Factory.

Quando si esegue un pacchetto in una pipeline di Data Factory con l'attività Esegui pacchetto SSIS, è possibile passare valori al pacchetto in fase di esecuzione.When you run a package in a Data Factory pipeline with the Execute SSIS Package Activity, you can pass values to the package at runtime. Per passare uno o più valori di runtime, creare ambienti di esecuzione SSIS in SSISDB con SQL Server Management Studio (SSMS).To pass one or more runtime values, create SSIS execution environments in SSISDB with SQL Server Management Studio (SSMS). In ogni ambiente creare variabili e assegnare valori corrispondenti ai parametri dei progetti o dei pacchetti.In each environment, create variables and assign values that correspond to the parameters for your projects or packages. Configurare i pacchetti SSIS in SSMS in modo da associare le variabili di ambiente ai parametri del progetto o del pacchetto.Configure your SSIS packages in SSMS to associate those environment variables with your project or package parameters. Quando si eseguono i pacchetti nella pipeline, passare da un ambiente all'altro specificando percorsi di ambiente diversi nella scheda Impostazioni dell'interfaccia utente dell'attività Esegui pacchetto SSIS.When you run the packages in the pipeline, switch between environments by specifying different environment paths on the Settings tab of the Execute SSIS Package activity UI. Per altre informazioni sugli ambienti SSIS, vedere Creare ed eseguire il mapping di un ambiente server.For more info about SSIS environments, see Create and Map a Server Environment.

Monitorare i pacchettiMonitor packages

Per monitorare i pacchetti in esecuzione, usare le opzioni per la creazione di report seguenti di SSMS.To monitor running packages, use the following reporting options in SSMS.

  • Fare clic con il pulsante destro del mouse su SSISDB, quindi selezionare Operazioni attive per aprire la finestra di dialogo Operazioni attive.Right-click SSISDB, and then select Active Operations to open the Active Operations dialog box.
  • Selezionare un pacchetto in Esplora oggetti, fare clic con il pulsante destro del mouse e selezionare Report, quindi Report standard e infine Tutte le esecuzioni.Select a package in Object Explorer, right-click and select Reports, then Standard Reports, then All Executions.

Per monitorare il runtime di integrazione Azure-SSIS, vedere Monitorare il runtime di integrazione Azure-SSIS.To monitor the Azure-SSIS Integration Runtime, see Monitor the Azure-SSIS integration runtime.

Pianificare i pacchettiSchedule packages

Per pianificare l'esecuzione dei pacchetti distribuiti in Azure, è possibile usare vari strumenti.To schedule the execution of packages deployed in Azure, you can use a variety of tools. Per altre informazioni, vedere Pianificare l'esecuzione dei pacchetti di SQL Server Integration Services (SSIS) distribuiti in Azure.For more info, see Schedule the execution of SQL Server Integration Services (SSIS) packages deployed in Azure.

Passaggi successiviNext steps

Per iniziare con carichi di lavoro SSIS in Azure, vedere gli articoli seguenti:To get started with SSIS workloads on Azure, see the following articles: