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 Azure Database Migration Guide (Guida alla migrazione di database di Azure).For migration information about migrating from other platforms, see Azure Database Migration Guide.

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 mantenere 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 è stata risolta tutti identificati blocchi migrazione e continuare la migrazione a istanza gestita, si noti che alcune 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:

  • Modello di recupero con registrazione completa obbligatorio e pianificazione del backup automatico regolare potrebbe compromettere le prestazioni del carico di lavoro o operazioni di manutenzione/ETL periodicamente usato modello semplice/bulk-logged o arrestato i backup su richiesta.Mandatory 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 server o database diverse, ad esempio i flag di traccia o livelli di compatibilitàDifferent server or database level configurations such as trace flags or compatibility levels
  • Nuove funzionalità che si sta utilizzando, ad esempio gruppi di failover automatico o Transparent Database Encryption (TDE) potrebbe compromettere l'utilizzo della CPU e i/o.New features that you are using such as Transparent Database Encryption (TDE) or auto-failover groups might impact CPU and IO usage.

Gestita garanzia del 99,99% disponibilità dell'istanza anche negli scenari critici, quindi non può essere disabilitata l'overhead causato da queste funzionalità.Managed Instance guarantee 99.99% availability even in the critical scenarios, so overhead caused by these features cannot be disabled. Per altre informazioni, vedere cause principali che potrebbero causare diversi di 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.

Creare una baseline delle prestazioniCreate performance baseline

Se si desidera confrontare le prestazioni del carico di lavoro sull'istanza gestita con il carico di lavoro originale in esecuzione in SQL Server, è necessario creare una baseline delle prestazioni che verrà utilizzata 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. Alcuni dei parametri che è necessario misurare nell'istanza di SQL Server sono: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 la media di record e i picchi di utilizzo della CPU.Monitor CPU usage on your SQL Server instance and record the average and peak CPU usage.
  • Monitoraggio dell'utilizzo di memoria nell'istanza di SQL Server e determinare la quantità di memoria utilizzata da componenti diversi, ad esempio pool di buffer, cache, il pool di ColumnStore, dei piani OLTP In memoriae così via. Inoltre, si devono trovare i valori di picco e medi del contatore delle prestazioni memoria permanenza presunta della pagina.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.
  • Monitoraggio dell'utilizzo dei / o disco in istanza SQL Server di origine mediante DM io_virtual_file_stats visualizzazione oppure i contatori delle prestazioni.Monitor disk IO usage on the source SQL Server instance using sys.dm_io_virtual_file_stats view or performance counters.
  • Monitorare le prestazioni del carico di lavoro e query o l'istanza di SQL Server tramite l'esame delle viste a gestione dinamica o Query Store se si esegue la migrazione dalla versione di SQL Server 2016 e versioni successive.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 durata media e utilizzo della CPU delle query più importanti nel carico di lavoro per eseguire un confronto con le query in esecuzione in 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 nota un problema con il carico di lavoro in SQL Server, ad esempio utilizzo elevato della CPU, utilizzo della memoria costante, tempdb o parametrizzazione problemi, è consigliabile provare a risolverli nell'istanza di SQL Server di origine prima di portare la linea di base e la migrazione.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 problemi noti per qualsiasi nuova migh sistema provocare risultati imprevisti e invalidano qualsiasi confronto delle prestazioni.Migrating know issues to any new system migh cause unexpected results and invalidate any performance comparison.

Nell'ambito di questa attività deve aver documentato Media e valori di picco per CPU, memoria e utilizzo dei / o nel proprio sistema di origine, nonché la durata media e massima e utilizzo della CPU del dominante e le query più importanti 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. È necessario usare questi valori in un secondo momento per confrontare le prestazioni del carico di lavoro sull'istanza gestita con le prestazioni di base del carico di lavoro in 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. Linee guida generali che possono aiutarti a scegliere il livello di servizio corretto e le caratteristiche sono descritti di seguito:Some general guidelines that might help you to choose the right service tier and characteristics are described here:

È possibile scegliere di calcolo e le risorse di archiviazione in fase di distribuzione di tempo e quindi modificarle in seguito senza causare tempi di inattività per l'applicazione utilizzando 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

Dopo aver completato la migrazione a istanza gestita, è necessario rilevare il comportamento dell'applicazione e le prestazioni 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 è necessario effettuare immediatamente dopo il successo della migrazione consiste nel confrontare le prestazioni del carico di lavoro con le prestazioni del carico di lavoro di base.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 confermare che le prestazioni del carico di lavoro per istanza gestita soddisfano le proprie esigenze.The goal of this activity is to confirm that the workload performance on your Managed Instance meets your needs.

Migrazione del database a istanza gestita mantiene le impostazioni del database e del relativo 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 dove possibile per ridurre il rischio di alcune riduzioni delle prestazioni rispetto all'origine SQL Server.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 è effettivamente la migrazione alla versione più recente del motore di Database di SQL Server, è necessario tenere presente che è necessario ripetere il test delle prestazioni del carico di lavoro per evitare problemi di prestazioni insoliti.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, assicurarsi di aver completato le attività seguenti:As a prerequisite, make sure that you have completed the following activities:

  • Allineare le impostazioni sull'istanza gestita con le impostazioni dall'istanza di SQL Server di origine con l'analisi dei vari istanza, database, le impostazioni tempdb e le 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 che non è stato modificato le impostazioni come i livelli di compatibilità o la crittografia prima di eseguire il confronto delle prestazioni prima oppure accettare il rischio che alcune delle nuove funzionalità che è stato abilitato potrebbe influenzare 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 migliore pratica linee guida di archiviazione per utilizzo generico come pre-allocazione di 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.
  • Scopri le differenze di ambiente che potrebbero causare le differenze di prestazioni tra istanza gestita e SQL Server principali 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.
  • Accertarsi di mantenere abilitato Query Store e l'ottimizzazione automatica per l'istanza gestita.Make sure that you keep enabled Query Store and Automatic tuning on your Managed Instance. Queste funzionalità consentono di misurare le prestazioni del carico di lavoro e risolvere 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 ottima per ottenere informazioni sulle prestazioni del carico di lavoro prima e dopo la modifica del livello di compatibilità del database, come spiegato in mantenere la stabilità delle prestazioni durante l'aggiornamento alla versione più recente di 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. Dopo aver preparato l'ambiente che può essere paragonata quanto 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. Processo di misurazione deve includere gli stessi parametri che è stata misurata durante la creazione di prestazioni di base di misure del carico di lavoro in 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, si deve 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 sarà in grado di ottenere prestazioni esattamente 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 di Azure è un motore di database di SQL Server, ma dell'infrastruttura e configurazione a disponibilità elevata in istanza gestita può introdurre alcune differenze.Managed Instance is a SQL Server database engine but infrastructure and High-availability configuration on Managed Instance may introduce some difference. È possibile prevedere che alcune query sarebbe più veloci mentre un altro può risultare più lento.You might expect that some queries would be faster while some other might be slower. L'obiettivo di confronto è verificare che le prestazioni del carico di lavoro nell'istanza gestita di soddisfino le prestazioni in SQL Server (in Media) e identificare sono presenti tutte le query critiche con le prestazioni che non soddisfano le prestazioni originale.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.

Potrebbe essere il risultato del confronto delle prestazioni:The outcome of the performance comparison might be:

  • Le prestazioni del carico di lavoro sull'istanza gestita è allineato o meglio che le prestazioni del carico di lavoro in SQL Server.Workload performance on Managed Instance is aligned or better that the workload performance on SQL Server. In questo caso è confermato che la migrazione ha esito positivo.In this case you have successfully confirmed that migration is successful.
  • Maggioranza dei nodi dei parametri delle prestazioni e le query nel carico di lavoro lavoro tutto bene, con alcune eccezioni con influire negativamente sulle prestazioni.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 riduzione delle prestazioni, è necessario esaminare vengono modificati i piani SQL sottostanti o le query 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. Mitigazione in questo caso potrebbe consistere nell'applicare alcuni suggerimenti su query critiche (ad esempio Modifica livello di compatibilità, stima di cardinalità legacy) sia direttamente oppure usando le guide di piano rebuild o create le statistiche e indici che potrebbero interessare i 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 sono lenta in istanza gestita rispetto a 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 della differenza, ad esempio raggiunge il limite di alcune risorse i limiti dei / o, limite di memoria, limite di velocità di log di istanza e così via. Se non sono previsti limiti di risorse che possono causare la differenza, provare a modificare il livello di compatibilità del database oppure modificare le impostazioni di database, ad esempio la stima di cardinalità legacy e avviare nuovamente 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 i consigli forniti dalle visualizzazioni di Query Store o istanza gestita per identificare le query regredite delle 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à di correzione automatica del piano predefiniti che è abilitato 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 avuto esito positivo in Incolla non comprometta in futuro.This feature ensures that queries that worked fine in the paste would not degrade in the future. Assicurarsi che questa funzionalità è abilitata e che è stato eseguito il carico di lavoro abbastanza tempo con le impostazioni precedenti prima di impostare le nuove impostazioni per abilitare l'istanza gestita conoscere i piani e le prestazioni di riferimento.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 la convergenza per la configurazione ottimale, fino a quando non si ottengono le prestazioni del carico di lavoro adatta 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

Una volta che trovano in una piattaforma completamente gestita e aver verificato che le prestazioni del carico di lavoro delle corrispondenti si delle prestazioni del carico di lavoro di SQL Server, usufruire dei vantaggi offerti automaticamente come parte del servizio del 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 alcune modifiche in istanza gestita durante la migrazione, vi sono elevate probabilità che ci si affida in alcune delle nuove funzionalità quando si opera l'istanza per un usufruire dei miglioramenti apportati al motore di database più recente.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 il livello di compatibilità del database è stato modificato.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 potenziare la sicurezza, è consigliabile usare Azure Active Directory Authentication, controllo, rilevamento delle minacce, sicurezzaalivellodiriga, e maschera dati dinamica ).To strengthen security, consider using Azure Active Directory Authentication, Auditing, threat detection, row-level security, and dynamic data masking ).

Oltre a Gestione avanzata e funzionalità di sicurezza, istanza gestita offre un set di strumenti avanzati che possono aiutare a 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. Azure analitica SQL 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 nell'istanza gestita di monitoraggio continuo delle prestazioni Statistiche esecuzione piano SQL e risolvere automaticamente i problemi di prestazioni identificato.Automatic tuning in Managed Instance continuously monitor performance of your SQL plan execution statistics and automatically fix the identified performance issues.

Passaggi successiviNext steps