Migrazione di un'istanza di SQL Server a un'istanza gestita di database SQL di AzureSQL Server instance migration to Azure SQL Database managed instance

Questo articolo illustra i metodi disponibili per eseguire la migrazione di un'istanza di SQL Server 2005 o versione successiva a un'istanza gestita di database SQL di Azure.In this article, you learn about the methods for migrating a SQL Server 2005 or later version instance to Azure SQL Database managed instance. Per informazioni sulla migrazione a un database singolo o a un pool elastico, vedere Migrate to a single or pooled database (Eseguire la migrazione a un database singolo o in pool).For information on migrating to a single database or elastic pool, see Migrate to a single or pooled database. Per informazioni sulla migrazione da altre piattaforme, vedere Guida alla migrazione di database di Azure.For migration information about migrating from other platforms, see Azure Database Migration Guide.

Nota

Se si desidera avviare rapidamente e provare Istanza gestita, è possibile passare alla Guida introduttiva invece di questa pagina.If you want to quickly start and try Managed Instance, you might want to go to Quick-start guide instead of this page.

A livello generale, il processo di migrazione del database è simile a quello indicato di seguito:At a high level, the database migration process looks like:

Processo di migrazione

Nota

Per eseguire la migrazione di un database singolo in un database singolo o un pool di database elastico, vedere l'articolo relativo alla migrazione di un database di SQL Server nel database SQL di Azure.To migrate an individual database into either a single database or elastic pool, see Migrate a SQL Server database to Azure SQL Database.

Valutare la compatibilità dell'istanza gestitaAssess managed instance compatibility

Per prima cosa, determinare se l'istanza gestita è compatibile con i requisiti di database dell'applicazione.First, determine whether managed instance is compatible with the database requirements of your application. L'opzione di distribuzione dell'istanza gestita è progettata per consentire una facile migrazione in modalità lift-and-shift della maggior parte delle applicazioni che usano SQL Server in locale o in macchine virtuali.The managed instance deployment option is designed to provide easy lift and shift migration for the majority of existing applications that use SQL Server on-premises or on virtual machines. Talvolta, tuttavia, possono essere necessarie caratteristiche o funzionalità non ancora supportate e il costo di implementazione di una soluzione alternativa è troppo elevato.However, you may sometimes require features or capabilities that are not yet supported and the cost of implementing a workaround are too high.

Per rilevare i potenziali problemi di compatibilità che influirebbero sulle funzionalità dei database nel database SQL di Azure, usare Data Migration Assistant (DMA).Use Data Migration Assistant (DMA) to detect potential compatibility issues impacting database functionality on Azure SQL Database. DMA non supporta ancora un'istanza gestita come destinazione della migrazione, ma è consigliabile eseguire una valutazione rispetto al database SQL di Azure e confrontare attentamente l'elenco dei problemi di compatibilità e parità di funzionalità segnalati con la documentazione del prodotto.DMA does not yet support managed instance as migration destination, but it is recommended to run assessment against Azure SQL Database and carefully review list of reported feature parity and compatibility issues against product documentation. Vedere Funzionalità di database SQL di Azure per controllare se sono stati segnalati problemi di blocco non presenti nell'istanza gestita poiché la maggior parte dei problemi che impediscono la migrazione al database SQL di Azure è stata risolta con l'istanza gestita.See Azure SQL Database features to check are there some reported blocking issues that not blockers in managed instance, because most of the blocking issues preventing a migration to Azure SQL Database have been removed with managed instance. Nelle istanze gestite, ad esempio, sono disponibili funzionalità come le query tra database, le transazioni tra database nella stessa istanza, il server collegato per altre origini SQL, CLR, le tabelle temporanee globali, le viste a livello di istanza, Service Broker e così via.For instance, features like cross-database queries, cross-database transactions within the same instance, linked server to other SQL sources, CLR, global temp tables, instance level views, Service Broker and the like are available in managed instances.

Se sono presenti problemi che causano un blocco che non sono stati risolti con l'opzione di distribuzione dell'istanza gestita, può essere necessario prendere in considerazione un'opzione alternativa, ad esempio SQL Server in macchine virtuali di Azure.If there are some reported blocking issues that are not removed with the managed instance deployment option, you might need to consider an alternative option, such as SQL Server on Azure virtual machines. Ecco alcuni esempi:Here are some examples:

  • Se è necessario l'accesso diretto al sistema operativo o al file system, ad esempio per installare agenti personalizzati o di terze parti nella stessa macchina virtuale con SQL Server.If you require direct access to the operating system or file system, for instance to install third party or custom agents on the same virtual machine with SQL Server.
  • Se è presente una stretta dipendenza da funzionalità non ancora supportate, come FileStream/FileTable, PolyBase e le transazioni tra istanze.If you have strict dependency on features that are still not supported, such as FileStream / FileTable, PolyBase, and cross-instance transactions.
  • Se è assolutamente necessario rimanere a una versione specifica di SQL Server (2012, ad esempio).If absolutely need to stay at a specific version of SQL Server (2012, for instance).
  • Se i requisiti di calcolo sono nettamente inferiori rispetto a quanto offerto dall'istanza gestita, ad esempio, un vCore, e il consolidamento di database non è un'opzione accettabile.If your compute requirements are much lower that managed instance offers (one vCore, for instance) and database consolidation is not acceptable option.

Se sono stati risolti tutti i blocchi di migrazione identificati e si continua la migrazione a Istanza gestita, si noti che alcune delle modifiche potrebbero influire sulle prestazioni del carico di lavoro:If you have resolved all identified migration blockers and continuing the migration to Managed Instance, note that some of the changes might affect performance of your workload:

  • Il modello di recupero con registrazione completa obbligatoria e la pianificazione regolare dei backup automatici potrebbero influito sulle prestazioni del carico di lavoro o sulle azioni di manutenzione/ETL se è stato usato periodicamente un modello con registrazione minima o con registrazione minima delle operazioni bulk oppure è stato interrottoMandatory full recovery model and regular automated backup schedule might impact performance of your workload or maintenance/ETL actions if you have periodically used simple/bulk-logged model or stopped backups on demand.
  • Configurazioni a livello di server o di database diverse, ad esempio i flag di traccia o i livelli di compatibilitàDifferent server or database level configurations such as trace flags or compatibility levels
  • Le nuove funzionalità di, ad esempio Transparent Database Encryption (Transparent Database Encryption) o i gruppi di failover automatico potrebbero avere un effetto sull'utilizzo di CPU e IO.New features that you are using such as Transparent Database Encryption (TDE) or auto-failover groups might impact CPU and IO usage.

Istanza gestita garantire la disponibilità del 99,99% anche negli scenari critici, di conseguenza l'overhead causato da queste funzionalità non può essere disabilitato.Managed Instance guarantee 99.99% availability even in the critical scenarios, so overhead caused by these features cannot be disabled. Per ulteriori informazioni, vedere le cause principali che potrebbero causare diverse prestazioni in SQL Server e istanza gestita.For more information, see the root causes that might cause different performance on SQL Server and Managed Instance.

Crea linea di base prestazioniCreate performance baseline

Se è necessario confrontare le prestazioni del carico di lavoro in Istanza gestita con il carico di lavoro originale in esecuzione su SQL Server, è necessario creare un riferimento per le prestazioni che verrà usato per il confronto.If you need to compare the performance of your workload on Managed Instance with your original workload running on SQL Server, you would need to create a performance baseline that will be used for comparison.

La linea di base delle prestazioni è un set di parametri, ad esempio utilizzo medio/massimo CPU, latenza IO disco media/massima, velocità effettiva, IOPS, permanenza media/massima permanenza della pagina, dimensioni medie massime del tempdb.Performance baseline is a set of parameters such as average/max CPU usage, average/max disk IO latency, throughput, IOPS, average/max page life expectancy, average max size of tempdb. Si vuole avere parametri simili o ancora migliori dopo la migrazione, quindi è importante misurare e registrare i valori di base per questi parametri.You would like to have similar or even better parameters after migration, so it is important to measure and record the baseline values for these parameters. Oltre ai parametri di sistema, è necessario selezionare un set di query rappresentative o le query più importanti nel carico di lavoro e misurare la durata minima/media/massima, l'utilizzo della CPU per le query selezionate.In addition to system parameters, you would need to select a set of the representative queries or the most important queries in your workload and measure min/average/max duration, CPU usage for the selected queries. Questi valori consentono di confrontare le prestazioni del carico di lavoro in esecuzione in Istanza gestita ai valori originali nell'SQL Server di origine.These values would enable you to compare performance of workload running on Managed Instance to the original values on your source SQL Server.

Di seguito sono elencati alcuni parametri che è necessario misurare nell'istanza di SQL Server:Some of the parameters that you would need to measure on your SQL Server instance are:

  • Monitorare l'utilizzo della CPU nell'istanza di SQL Server e registrare l'utilizzo medio e massimo della CPU.Monitor CPU usage on your SQL Server instance and record the average and peak CPU usage.
  • Monitorare l'utilizzo della memoria nell'istanza di SQL Server e determinare la quantità di memoria utilizzata da componenti diversi, ad esempio pool di buffer, cache dei piani, pool di archivio colonne, OLTP in memoriae così via. Inoltre, è necessario trovare i valori medi e massimi del contatore delle prestazioni della memoria presunta delle pagine.Monitor memory usage on your SQL Server instance and determine the amount of memory used by different components such as buffer pool, plan cache, column-store pool, In-memory OLTP, etc. In addition, you should find average and peak values of Page Life Expectancy memory performance counter.
  • Monitorare l'utilizzo di i/o su disco nell'istanza di SQL Server di origine utilizzando i contatori delle prestazionio della vista sys. dm _io_virtual_file_stats .Monitor disk IO usage on the source SQL Server instance using sys.dm_io_virtual_file_stats view or performance counters.
  • Monitorare il carico di lavoro e le prestazioni delle query o l'istanza di SQL Server esaminando viste a gestione dinamica o Query Store se si esegue la migrazione da SQL Server versione 2016 +.Monitor workload and query performance or your SQL Server instance by examining Dynamic Management Views or Query Store if you are migrating from SQL Server 2016+ version. Identificare la durata media e l'utilizzo della CPU delle query più importanti nel carico di lavoro per confrontarle con le query in esecuzione nel Istanza gestita.Identify average duration and CPU usage of the most important queries in your workload to compare them with the queries that are running on the Managed Instance.

Nota

Se si riscontrano problemi con il carico di lavoro in SQL Server, ad esempio un utilizzo elevato della CPU, un numero costante di richieste di memoria, tempdb o parametrizzazione, è consigliabile provare a risolverli nell'istanza del SQL Server di origine prima di eseguire la migrazione e la baseline.If you notice any issue with your workload on SQL Server such as high CPU usage, constant memory pressure, tempdb or parametrization issues, you should try to resolve them on your source SQL Server instance before taking the baseline and migration. La migrazione di informazioni sui problemi di qualsiasi nuovo migh di sistema causa risultati imprevisti e invalida qualsiasi confronto delle prestazioni.Migrating know issues to any new system migh cause unexpected results and invalidate any performance comparison.

Come risultato di questa attività, è necessario aver documentato i valori medi e massimi per l'utilizzo della CPU, della memoria e dell'i/o nel sistema di origine, nonché la durata media e massima e l'utilizzo della CPU delle query dominanti e più critiche nel carico di lavoro.As an outcome of this activity you should have documented average and peak values for CPU, memory, and IO usage on your source system, as well as average and max duration and CPU usage of the dominant and the most critical queries in your workload. Usare questi valori in un secondo momento per confrontare le prestazioni del carico di lavoro in Istanza gestita con le prestazioni di base del carico di lavoro nel SQL Server di origine.You should use these values later to compare performance of your workload on Managed Instance with the baseline performance of the workload on the source SQL Server.

Eseguire la distribuzione in un'istanza gestita di dimensioni ottimaliDeploy to an optimally-sized managed instance

L'istanza gestita è progettata appositamente per carichi di lavoro locali che si intende spostare nel cloud.Managed instance is tailored for on-premises workloads that are planning to move to the cloud. Introduce un nuovo modello di acquisto che offre maggiore flessibilità nella selezione del livello appropriato di risorse per i carichi di lavoro.It introduces a new purchasing model that provides greater flexibility in selecting the right level of resources for your workloads. Nell'ambiente locale, si è probabilmente soliti dimensionare i carichi di lavoro usando core fisici o larghezza di banda di I/O.In the on-premises world, you are probably accustomed to sizing these workloads by using physical cores and IO bandwidth. Il modello di acquisto dell'istanza gestita è basato sui core virtuali, o "vCore", con I/O e spazio di archiviazione aggiuntivi disponibili separatamente.The purchasing model for managed instance is based upon virtual cores, or “vCores,” with additional storage and IO available separately. Il modello basato su vCore semplifica la comprensione dei requisiti di calcolo nel cloud rispetto alle risorse usate attualmente in locale.The vCore model is a simpler way to understand your compute requirements in the cloud versus what you use on-premises today. Questo nuovo modello consente di dimensionare correttamente l'ambiente di destinazione nel cloud.This new model enables you to right-size your destination environment in the cloud. Alcune linee guida generali che possono essere utili per scegliere il livello di servizio e le caratteristiche corretti sono descritte di seguito:Some general guidelines that might help you to choose the right service tier and characteristics are described here:

  • In base all'utilizzo della CPU di base, è possibile effettuare il provisioning di un Istanza gestita corrispondente al numero di core usati in SQL Server, tenendo presente che è possibile che le caratteristiche della CPU debbano essere ridimensionate in modo da corrispondere alle caratteristiche della macchina virtuale in cui è installato istanza gestita .Based on the baseline CPU usage you can provision a Managed Instance that matches the number of cores that you are using on SQL Server, having in mind that CPU characteristics might need to be scaled to match VM characteristics where Managed Instance is installed.
  • In base all'utilizzo della memoria di base, scegliere il livello di servizio con memoria corrispondente.Based on the baseline memory usage choose the service tier that has matching memory. La quantità di memoria non può essere scelta direttamente, quindi è necessario selezionare la Istanza gestita con la quantità di Vcore con memoria corrispondente (ad esempio, 5,1 GB/vCore in quinta generazione).The amount of memory cannot be directly chosen so you would need to select the Managed Instance with the amount of vCores that has matching memory (for example 5.1 GB/vCore in Gen5).
  • In base alla latenza di i/o di base del sottosistema di file, scegliere tra per utilizzo generico (latenza maggiore di 5 ms) e business critical livelli di servizio (latenza inferiore a 3 ms).Based on the baseline IO latency of the file subsystem choose between General Purpose (latency greater than 5ms) and Business Critical service tiers (latency less than 3 ms).
  • In base alla velocità effettiva di base, pre-allocare le dimensioni dei file di dati o di log per ottenere le prestazioni di i/o previste.Based on baseline throughput pre-allocate the size of data or log files to get expected IO performance.

È possibile scegliere risorse di calcolo e di archiviazione in fase di distribuzione e quindi modificarle successivamente senza introdurre tempi di inattività per l'applicazione usando il portale di Azure:You can choose compute and storage resources at deployment time and then change it afterwards without introducing downtime for your application using the Azure portal:

Dimensionamento dell'istanza gestita

Per informazioni su come creare l'infrastruttura di rete virtuale e un'istanza gestita, vedere Creare un'istanza gestita.To learn how to create the VNet infrastructure and a managed instance, see Create a managed instance.

Importante

È importante che la rete virtuale e la subnet di destinazione siano sempre conformi ai requisiti per la rete virtuale dell'istanza gestita.It is important to keep your destination VNet and subnet always in accordance with managed instance VNet requirements. Qualsiasi incompatibilità può impedire la creazione di nuove istanze o l'uso di quelle già create.Any incompatibility can prevent you from creating new instances or using those that you already created. Altre informazioni sulle creazione di nuove reti e la configurazione di reti esistenti.Learn more about creating new and configuring existing networks.

Selezionare il metodo ed eseguire la migrazioneSelect migration method and migrate

L'opzione di distribuzione dell'istanza gestita è destinata a scenari utente che richiedono la migrazione di massa di database da implementazioni di database locali o IaaS.The managed instance deployment option targets user scenarios requiring mass database migration from on-premises or IaaS database implementations. Questa opzione è ottimale quando è necessario trasferire in modalità lift-and-shift il back-end di applicazioni che usano regolarmente funzionalità a livello di istanza e/o tra database.They are optimal choice when you need to lift and shift the back end of the applications that regularly use instance level and / or cross-database functionalities. In questo scenario, è possibile spostare un'intera istanza in un ambiente corrispondente in Azure senza dover ridefinire l'architettura delle applicazioni.If this is your scenario, you can move an entire instance to a corresponding environment in Azure without the need to re-architect your applications.

Per spostare istanze di SQL, è necessario pianificare accuratamente quanto segue:To move SQL instances, you need to plan carefully:

  • La migrazione di tutti i database da collocare (quelli in esecuzione nella stessa istanza)The migration of all databases that need to be collocated (ones running on the same instance)
  • La migrazione degli oggetti a livello di istanza da cui dipende l'applicazione, quali account di accesso, credenziali, operatori e processi di SQL Agent e trigger a livello di server.The migration of instance-level objects that your application depends on, including logins, credentials, SQL Agent Jobs and Operators, and server level triggers.

L'istanza gestita è un servizio gestito che consente di delegare alcune delle regolari attività di amministrazione di database alla piattaforma perché sono predefinite.Managed instance is a managed service that allows you to delegate some of the regular DBA activities to the platform as they are built in. Di conseguenza, non è necessario eseguire la migrazione di alcuni dati a livello di istanza, come i processi di manutenzione per i backup regolari o la configurazione Always On, perché la disponibilità elevata è predefinita.Therefore, some instance level data does not need to be migrated, such as maintenance jobs for regular backups or Always On configuration, as high availability is built in.

L'istanza gestita supporta le opzioni di migrazione di database descritte di seguito, che attualmente sono gli unici metodi di migrazione supportati.Managed instance supports the following database migration options (currently these are the only supported migration methods):

  • Servizio Migrazione del database di Azure: migrazione con tempo di inattività prossimo a zeroAzure Database Migration Service - migration with near-zero downtime,
  • RESTORE DATABASE FROM URL nativo: usa backup nativi di SQL Server e comporta un tempo di inattivitàNative RESTORE DATABASE FROM URL - uses native backups from SQL Server and requires some downtime.

Servizio Migrazione del database di AzureAzure Database Migration Service

Servizio Migrazione del database di Azure è un servizio completamente gestito progettato per consentire migrazioni senza problemi da più origini di database alle piattaforme dati di Azure con tempi di inattività minimi.The Azure Database Migration Service (DMS) is a fully managed service designed to enable seamless migrations from multiple database sources to Azure Data platforms with minimal downtime. Questo servizio semplifica le attività necessarie per spostare database di SQL Server e di terze parti in Azure.This service streamlines the tasks required to move existing third party and SQL Server databases to Azure. Le opzioni di distribuzione in anteprima pubblica includono i database in Database SQL di Azure e i database SQL Server in una macchina virtuale di Azure.Deployment options at public preview include databases in Azure SQL Database and SQL Server databases in an Azure Virtual Machine. Servizio Migrazione del database è il metodo di migrazione consigliato per i carichi di lavoro aziendali.DMS is the recommended method of migration for your enterprise workloads.

Se si usa SQL Server Integration Services (SSIS) in SQL Server in locale, il Servizio Migrazione del database non supporta ancora la migrazione del catalogo SSIS (SSISDB) in cui sono archiviati i pacchetti SSIS, ma è possibile eseguire il provisioning del runtime di integrazione Azure-SSIS in Azure Data Factory, che creerà un nuovo SSISDB in un'istanza gestita. Sarà quindi possibile ridistribuire i pacchetti su di esso. Vedere Creare il runtime di integrazione SSIS di Azure in Azure Data Factory.If you use SQL Server Integration Services (SSIS) on your SQL Server on premises, DMS does not yet support migrating SSIS catalog (SSISDB) that stores SSIS packages, but you can provision Azure-SSIS Integration Runtime (IR) in Azure Data Factory (ADF) that will create a new SSISDB in a managed instance and then you can redeploy your packages to it, see Create Azure-SSIS IR in ADF.

Per altre informazioni su questo scenario e sulla procedura di configurazione per Servizio Migrazione del database, vedere l'articolo su come eseguire la migrazione di un database locale a un'istanza gestita con Servizio Migrazione del database.To learn more about this scenario and configuration steps for DMS, see Migrate your on-premises database to managed instance using DMS.

Ripristino nativo da URLNative RESTORE from URL

Il ripristino di backup nativi (file con estensione bak) ottenuti da SQL Server in locale o SQL Server in macchine virtuali e disponibili in Archiviazione di Azure è una delle funzionalità principali dell'opzione di distribuzione dell'istanza gestita e consente una migrazione di database offline semplice e rapida.RESTORE of native backups (.bak files) taken from SQL Server on-premises or SQL Server on Virtual Machines, available on Azure Storage, is one of key capabilities of the managed instance deployment option that enables quick and easy offline database migration.

Il diagramma seguente offre una panoramica di alto livello del processo:The following diagram provides a high-level overview of the process:

Flusso della migrazione

La tabella seguente contiene altre informazioni sul metodo che è possibile usare a seconda della versione di SQL Server di origine eseguita:The following table provides more information regarding the methods you can use depending on source SQL Server version you are running:

PassaggioStep Versione e motore SQLSQL Engine and version Metodo di backup/ripristinoBackup / Restore method
Inserire il backup in Archiviazione di AzurePut backup to Azure Storage Precedente SQL 2012 SP1 CU2Prior SQL 2012 SP1 CU2 Caricamento diretto del file con estensione bak in Archiviazione di AzureUpload .bak file directly to Azure storage
2012 SP1 CU2 - 20162012 SP1 CU2 - 2016 Backup diretto con sintassi con credenziali deprecataDirect backup using deprecated WITH CREDENTIAL syntax
2016 e versioni successive2016 and above Backup diretto con credenziali di firma di accesso condivisoDirect backup using WITH SAS CREDENTIAL
Eseguire il ripristino da Archiviazione di Azure in un'istanza gestitaRestore from Azure storage to managed instance Ripristino da URL con credenziali di firma di accesso condivisoRESTORE FROM URL with SAS CREDENTIAL

Importante

  • In caso di migrazione di un database protetto tramite Transparent Data Encryption a un'istanza gestita con l'opzione del ripristino nativo, prima di ripristinare il database è necessario eseguire la migrazione del certificato corrispondente dall'istanza locale o IaaS di SQL Server.When migrating a database protected by Transparent Data Encryption to a managed instance using native restore option, the corresponding certificate from the on-premises or IaaS SQL Server needs to be migrated before database restore. Per i dettagli, vedere Migrazione del certificato TDE a un'istanza gestitaFor detailed steps, see Migrate TDE cert to managed instance
  • Il ripristino di database di sistema non è supportato.Restore of system databases is not supported. Per eseguire la migrazione di oggetti a livello di istanza (archiviati in database master o msdb), è consigliabile inserirli in script ed eseguire gli script T-SQL nell'istanza di destinazione.To migrate instance level objects (stored in master or msdb databases), we recommend to script them out and run T-SQL scripts on the destination instance.

Per una guida di avvio rapido che descrive come eseguire il ripristino del backup di un database in un'istanza gestita con credenziali di firma di accesso condiviso, vedere l'articolo su come eseguire il ripristino da un backup in un'istanza gestita.For a quickstart showing how to restore a database backup to a managed instance using a SAS credential, see Restore from backup to a managed instance.

Monitorare le applicazioniMonitor applications

Una volta completata la migrazione a Istanza gestita, è necessario tenere traccia del comportamento e delle prestazioni dell'applicazione del carico di lavoro.Once you have completed the migration to Managed Instance, you should track the application behavior and performance of your workload. Questo processo include le attività seguenti:This process includes the following activities:

Confrontare le prestazioni con la linea di baseCompare performance with the baseline

La prima attività che dovrebbe essere eseguita immediatamente dopo la migrazione è confrontare le prestazioni del carico di lavoro con le prestazioni di base del carico di lavoro.The first activity that you would need to take immediately after successful migration is to compare the performance of the workload with the baseline workload performance. L'obiettivo di questa attività consiste nel verificare che le prestazioni del carico di lavoro nel Istanza gestita soddisfino le proprie esigenze.The goal of this activity is to confirm that the workload performance on your Managed Instance meets your needs.

La migrazione del database a Istanza gestita mantiene le impostazioni del database e il livello di compatibilità originale nella maggior parte dei casi.Database migration to Managed Instance keeps database settings and its original compatibility level in majority of cases. Le impostazioni originali vengono mantenute laddove possibile per ridurre il rischio di riduzioni delle prestazioni rispetto all'SQL Server di origine.The original settings are preserved where possible in order to reduce risk of some performance degradations compared to your source SQL Server. Se il livello di compatibilità di un database utente prima della migrazione è 100 o un valore superiore, il livello rimane invariato dopo la migrazione.If the compatibility level of a user database was 100 or higher before the migration, it remains the same after migration. Se il livello di compatibilità di un database utente prima della migrazione è 90, nel database aggiornato viene impostato su 100, che è il livello di compatibilità minimo supportato in un'istanza gestita.If the compatibility level of a user database was 90 before migration, in the upgraded database, the compatibility level is set to 100, which is the lowest supported compatibility level in managed instance. Il livello di compatibilità dei database di sistema è 140.Compatibility level of system databases is 140. Poiché la migrazione a Istanza gestita sta effettivamente migrando alla versione più recente di SQL Server motore di database, è necessario tenere presente che è necessario testare di nuovo le prestazioni del carico di lavoro per evitare problemi di prestazioni sorprendenti.Since migration to Managed Instance is actually migrating to the latest version of SQL Server Database Engine, you should be aware that you need to re-test performance of your workload to avoid some surprising performance issues.

Come prerequisito, verificare di aver completato le attività seguenti:As a prerequisite, make sure that you have completed the following activities:

  • Allineare le impostazioni in Istanza gestita con le impostazioni dell'istanza SQL Server di origine esaminando varie istanze, database, impostazioni di database tempdb e configurazioni.Align your settings on Managed Instance with the settings from the source SQL Server instance by investigating various instance, database, temdb settings, and configurations. Assicurarsi di non aver modificato le impostazioni, ad esempio i livelli di compatibilità o la crittografia, prima di eseguire il primo confronto delle prestazioni o di accettare il rischio che alcune delle nuove funzionalità abilitate potrebbero influire su alcune query.Make sure that you have not changed settings like compatibility levels or encryption before you run the first performance comparison, or accept the risk that some of the new features that you enabled might affect some queries. Per ridurre i rischi della migrazione, modificare il livello di compatibilità del database solo dopo il monitoraggio delle prestazioni.To reduce migration risks, change the database compatibility level only after performance monitoring.
  • Implementare le linee guida per le procedure consigliate di archiviazione per per utilizzo generico come pre-allocare le dimensioni dei file per ottenere prestazioni migliori.Implement storage best practice guidelines for General Purpose such as pre-allocating the size of the files to get the better performance.
  • Informazioni sulle differenze di ambiente principali che potrebbero causare le differenze di prestazioni tra istanza gestita e SQL Server e identificare i rischi che potrebbero influire sulle prestazioni.Learn about the key environment differences that might cause the performance differences between Managed Instance and SQL Server and identify the risks that might affect the performance.
  • Assicurarsi di rimanere abilitati Query Store e l'ottimizzazione automatica nel Istanza gestita.Make sure that you keep enabled Query Store and Automatic tuning on your Managed Instance. Queste funzionalità consentono di misurare le prestazioni dei carichi di lavoro e di correggere automaticamente i potenziali problemi di prestazioni.These features enable you to measure workload performance and automatically fix the potential performance issues. Informazioni su come usare Query Store come strumento ottimale per ottenere informazioni sulle prestazioni del carico di lavoro prima e dopo la modifica del livello di compatibilità del database, come illustrato in garantire la stabilità delle prestazioni durante l'aggiornamento alla versione più recente del SQL Server.Learn how to use Query Store as an optimal tool for getting information about workload performance before and after database compatibility level change, as explained in Keep performance stability during the upgrade to newer SQL Server version. Una volta preparato l'ambiente che è paragonabile al più possibile con l'ambiente locale, è possibile avviare l'esecuzione del carico di lavoro e misurare le prestazioni.Once you have prepared the environment that is comparable as much as possible with your on-premises environment, you can start running your workload and measure performance. Il processo di misurazione deve includere gli stessi parametri misurati mentre si creano le prestazioni di base delle misure del carico di lavoro nel SQL Server di origine.Measurement process should include the same parameters that you measured while you create baseline performance of your workload measures on the source SQL Server. Di conseguenza, è consigliabile confrontare i parametri delle prestazioni con la linea di base e identificare le differenze critiche.As a result, you should compare performance parameters with the baseline and identify critical differences.

Nota

In molti casi, non è possibile ottenere esattamente le prestazioni corrispondenti in Istanza gestita e SQL Server.In many cases, you would not be able to get exactly matching performance on Managed Instance and SQL Server. Istanza gestita è un motore di database SQL Server, ma la configurazione di infrastruttura e disponibilità elevata in Istanza gestita può presentare una certa differenza.Managed Instance is a SQL Server database engine but infrastructure and High-availability configuration on Managed Instance may introduce some difference. Ci si potrebbe aspettare che alcune query risultino più veloci mentre altre potrebbero risultare più lente.You might expect that some queries would be faster while some other might be slower. L'obiettivo del confronto consiste nel verificare che le prestazioni del carico di lavoro in Istanza gestita corrispondano alle prestazioni in SQL Server (in media) e identificare siano presenti query critiche con le prestazioni che non corrispondono alle prestazioni originali.The goal of comparison is to verify that workload performance in Managed Instance matches the performance on SQL Server (in average), and identify are there any critical queries with the performance that don’t match your original performance.

Il risultato del confronto delle prestazioni potrebbe essere:The outcome of the performance comparison might be:

  • Le prestazioni dei carichi di lavoro su Istanza gestita sono allineate o migliori rispetto alle prestazioni del carico di lavoro in SQL ServerWorkload performance on Managed Instance is aligned or better that the workload performance on SQL Server. In questo caso è stato confermato che la migrazione è stata completata correttamente.In this case you have successfully confirmed that migration is successful.
  • La maggior parte dei parametri delle prestazioni e delle query nel carico di lavoro funziona correttamente, con alcune eccezioni con prestazioni ridotte.Majority of the performance parameters and the queries in the workload work fine, with some exceptions with degraded performance. In questo caso, è necessario identificare le differenze e la loro importanza.In this case, you would need to identify the differences and their importance. Se sono presenti alcune query importanti con prestazioni ridotte, è necessario esaminare i piani SQL sottostanti modificati o le query che raggiungono alcuni limiti di risorse.If there are some important queries with degraded performance, you should investigate are the underlying SQL plans changed or the queries are hitting some resource limits. In questo caso la mitigazione può essere l'applicazione di alcuni suggerimenti sulle query critiche, ad esempio il livello di compatibilità modificato, lo strumento di stima della cardinalità legacy, direttamente o utilizzando guide di piano, ricompilare o creare statistiche e indici che potrebbero influire sui piani.Mitigation in this case could be to apply some hints on the critical queries (for example changed compatibility level, legacy cardinality estimator) either directly or using plan guides, rebuild or create statistics and indexes that might affect the plans.
  • La maggior parte delle query è più lenta in Istanza gestita rispetto al SQL Server di origine.Most of the queries are slower on Managed Instance compared to your source SQL Server. In questo caso, provare a identificare le cause principali della differenza, ad esempio il raggiungimento di un limite di risorse , ad esempio i limiti di i/o, il limite di memoria, il limite di frequenza dei log delle Se non sono previsti limiti per le risorse che possono causare la differenza, provare a modificare il livello di compatibilità del database o modificare le impostazioni del database, ad esempio la stima della cardinalità legacy e riavviare il test.In this case try to identify the root causes of the difference such as reaching some resource limit like IO limits, memory limit, instance log rate limit, etc. If there are no resource limits that can cause the difference, try to change compatibility level of the database or change database settings like legacy cardinality estimation and re-start the test. Esaminare le raccomandazioni fornite dalle viste Istanza gestita o Query Store per identificare le query che hanno reimpostato le prestazioni.Review the recommendations provided by Managed Instance or Query Store views to identify the queries that regressed performance.

Importante

Istanza gestita dispone di funzionalità predefinite di correzione automatica dei piani abilitata per impostazione predefinita.Managed Instance has built-in automatic plan correction feature that is enabled by default. Questa funzionalità garantisce che le query che hanno funzionato correttamente nell'Incolla non peggiorano in futuro.This feature ensures that queries that worked fine in the paste would not degrade in the future. Verificare che questa funzionalità sia abilitata e che il carico di lavoro sia stato eseguito abbastanza a lungo con le impostazioni precedenti prima di modificare le nuove impostazioni per consentire Istanza gestita di ottenere informazioni sulle prestazioni e sui piani di base.Make sure that this feature is enabled and that you have executed the workload long enough with the old settings before you change new settings in order to enable Managed Instance to learn about the baseline performance and plans.

Apportare la modifica dei parametri o aggiornare i livelli di servizio per convergere alla configurazione ottimale fino a quando non si ottengono le prestazioni del carico di lavoro adatte alle proprie esigenze.Make the change of the parameters or upgrade service tiers to converge to the optimal configuration until you get the workload performance that fits your needs.

Monitorare le prestazioniMonitor performance

Istanza gestita offre numerosi strumenti avanzati per il monitoraggio e la risoluzione dei problemi ed è consigliabile usarli per monitorare le prestazioni dell'istanza.Managed Instance provides a lot of advanced tools for monitoring and troubleshooting, and you should use them to monitor performance on your instance. Alcuni dei parametri che devono essere monitorati sono:Some of the parameters that your would need to monitor are:

  • Utilizzo della CPU nell'istanza di per determinare il numero di vcore di cui è stato effettuato il provisioning è la corrispondenza giusta per il carico di lavoro.CPU usage on the instance to determine does the number of vCores that you provisioned is the right match for your workload.
  • Permanenza presunta delle pagine nel Istanza gestita per determinare se è necessaria memoria aggiuntiva.Page-life expectancy on your Managed Instance to determine do you need additional memory.
  • Le statistiche di INSTANCE_LOG_GOVERNOR attesa PAGEIOLATCH come o che indicano se si verificano problemi di i/o di archiviazione, soprattutto nel livello per utilizzo generico in cui potrebbe essere necessario pre-allocare i file per ottenere migliori prestazioni di i/o.Wait statistics like INSTANCE_LOG_GOVERNOR or PAGEIOLATCH that will tell do you have storage IO issues, especially on General Purpose tier where you might need to pre-allocate files to get better IO performance.

Sfruttare le funzionalità avanzate di PaaSLeverage advanced PaaS features

Quando si è in una piattaforma completamente gestita e si è verificato che le prestazioni del carico di lavoro corrispondono a SQL Server prestazioni del carico di lavoro, è possibile sfruttare i vantaggi offerti automaticamente come parte del servizio di database SQL.Once you are on a fully managed platform and you have verified that workload performances are matching you SQL Server workload performance, take advantages that are provided automatically as part of the SQL Database service.

Anche se non si apportano modifiche all'istanza gestita durante la migrazione, è probabile che si accendano alcune delle nuove funzionalità mentre si sta operando l'istanza per sfruttare i vantaggi offerti dai miglioramenti più recenti del motore di database.Even if you don't make some changes in managed instance during the migration, there are high chances that you would turn on some of the new features while you are operating your instance to take an advantage of the latest database engine improvements. Alcune modifiche sono abilitate solo dopo la modifica del livello di compatibilità del database.Some changes are only enabled once the database compatibility level has been changed.

In un'istanza gestita, ad esempio, non è necessario creare backup, perché vengono creati automaticamente dal servizio,For instance, you don’t have to create backups on managed instance - the service performs backups for you automatically. né preoccuparsi della pianificazione, dell'esecuzione e della gestione dei backup.You no longer must worry about scheduling, taking, and managing backups. Un'istanza gestita offre la possibilità di eseguire il ripristino a qualsiasi momento specifico all'interno del periodo di conservazione con il ripristino temporizzato.Managed instance provides you the ability to restore to any point in time within this retention period using Point in Time Recovery (PITR). Non è inoltre necessario preoccuparsi della configurazione della disponibilità elevata, perché la disponibilità elevata è predefinita.Additionally, you do not need to worry about setting up high availability as high availability is built in.

Per rafforzare la sicurezza, è consigliabile usare Azure Active Directory autenticazione, il controllo, il rilevamento delle minacce, la sicurezza a livello di rigae la maschera dati dinamica .To strengthen security, consider using Azure Active Directory Authentication, Auditing, threat detection, row-level security, and dynamic data masking ).

Oltre alle funzionalità avanzate di gestione e sicurezza, Istanza gestita fornisce un set di strumenti avanzati che consentono di monitorare e ottimizzare il carico di lavoro.In addition to advanced management and security features, Managed Instance provides a set of advanced tools that can help you to monitor and tune your workload. Analisi SQL di Azure consente di monitorare un ampio set di istanze gestite e centralizzare il monitoraggio di un numero elevato di istanze e database.Azure SQL analytics enables you to monitor a large set of Managed Instances and centralize monitoring of a large number of instances and databases. L' ottimizzazione automatica in istanza gestita monitorare continuamente le prestazioni delle statistiche di esecuzione del piano SQL e correggere automaticamente i problemi di prestazioni identificati.Automatic tuning in Managed Instance continuously monitor performance of your SQL plan execution statistics and automatically fix the identified performance issues.

Passaggi successiviNext steps