Guida alla migrazione: da SQL Server a SQL Server in VM di Azure

Si applica a:SQL Server su VM Azure

Informazioni sulle diverse strategie di migrazione per eseguire la migrazione di SQL Server a SQL Server in azure Macchine virtuali (VM).

È possibile eseguire la migrazione di SQL Server in esecuzione in locale o in:

  • SQL Server in macchine virtuali
  • Amazon Elastic Compute Cloud (Amazon EC2)
  • Amazon Relational Database Service (Amazon RDS)
  • Google Compute Engine

Per altre guide alla migrazione, vedere Migrazione dei database.

Panoramica

Eseguire la migrazione a SQL Server in VM Azure (VM) quando si vuole usare l'ambiente SQL Server familiare con il controllo del sistema operativo e si vuole sfruttare le funzionalità fornite dal cloud, ad esempio la disponibilità elevata delle macchine virtuali predefinite, i backup automatizzati e l'applicazione automatica di patch.

Risparmiare sui costi portando la propria licenza con il modello di licenza Azure Hybrid Benefit o estendendo il supporto per SQL Server 2012 ottenendo aggiornamenti della sicurezza gratuiti.

Scegliere una destinazione appropriata

VM Azure viene eseguito in molte aree diverse di Azure e offre anche diverse dimensioni del computer e opzioni di archiviazione. Quando si determinano le dimensioni corrette della macchina virtuale e delle Archiviazione per il carico di lavoro di SQL Server, vedere linee guida per le Prestazioni per SQL Server in VM Azure.

È possibile usare l'estensione di migrazione SQL di Azure per Azure Data Studio per ottenere le dimensioni corrette di SQL Server in VM Azure raccomandazione. L'estensione raccoglie i dati sulle prestazioni dall'istanza di SQL Server di origine per fornire raccomandazioni di Azure di dimensioni appropriate che soddisfano le esigenze di prestazioni del carico di lavoro con un costo minimo. Per altre informazioni, vedere Ottenete una raccomandazione Azure di dimensioni adeguate per i database SQL Server on-premises

Per determinare le dimensioni e i requisiti di archiviazione delle macchine virtuali per tutti i carichi di lavoro nel patrimonio di dati, è consigliabile ridimensionarli tramite una valutazione di Azure Migrate basata sulle prestazioni. Se questa opzione non è disponibile, vedere l'articolo seguente sulla creazione di una base personalizzata per le prestazioni.

È consigliabile prendere in considerazione anche l'installazione e la configurazione corrette di SQL Server in una macchina virtuale. La raccolta di immagini di macchine virtuali di Azure SQL consente di creare una VM di SQL Server con la versione, l'edizione e il sistema operativo appropriati. Verrà anche registrata la macchina virtuale di Azure con il provider di risorse di SQL Server automaticamente, abilitando funzionalità come backup automatizzati e applicazione automatica di patch.

Strategie di migrazione

Esistono due strategie di migrazione per eseguire la migrazione dei database utente a un'istanza di SQL Server nelle macchine virtuali di Azure: migrazione e trasferimento in modalità lift-and-shift.

L'approccio appropriato per l'azienda dipende in genere dai fattori seguenti:

  • Dimensioni e scalabilità della migrazione
  • Tipo di migrazione
  • Supporto dell'applicazione per la modifica del codice
  • È necessario modificare la versione di SQL Server, il sistema operativo o entrambi.
  • Ciclo di vita di supporto dei prodotti esistenti
  • Finestra per i tempi di inattività dell'applicazione durante la migrazione

Nella tabella seguente vengono descritte le differenze nelle due strategie di migrazione:

Strategia di migrazione Descrizione Quando utilizzare
Lift & shift La strategia di migrazione lift-and-shift può essere usata per spostare l'intero SQL server fisico o virtuale dalla posizione corrente a un'istanza di SQL Server in una macchina virtuale di Azure, senza apportare modifiche al sistema operativo o alla versione di SQL Server. Per completare una migrazione in modalità lift-and-shift, vedere Azure Migrate.

Durante la migrazione, il server di origine rimane online e continua a soddisfare le richieste mentre i dati vengono sincronizzati tra i server di origine e di destinazione, consentendo una migrazione quasi senza problemi.
Usare per migrazioni su larga scala, anche applicabili a scenari come l'uscita dal data center.

Non sono necessarie modifiche minime al codice per i database o le applicazioni SQL utente, consentendo migrazioni complessive più veloci.

Non sono necessari passaggi aggiuntivi per la migrazione dei servizi di Business Intelligence, come SSIS, SSRS e SSAS.
Migrazione Usare una strategia di migrazione quando si vuole aggiornare la versione di SQL Server e/o del sistema operativo di destinazione.

Selezionare una macchina virtuale di Azure da Azure Marketplace o un'immagine di SQL Server preparata corrispondente alla versione di SQL Server di origine.

Usare l'estensione per la migrazione di Azure SQL per Azure Data Studio per valutare, ottenere consigli per la configurazione di Azure di dimensioni corrette (serie di macchine virtuali, calcolo e archiviazione) ed eseguire la migrazione di database DI SQL Server a SQL Server in macchine virtuali di Azure con tempi di inattività minimi.
Usarla quando è necessario o desiderabile eseguire la migrazione a SQL Server in VM Azure oppure se è necessario aggiornare le versioni legacy di SQL Server e/o del sistema operativo che non sono più supportate.

Potrebbero essere necessarie alcune modifiche al database utente o all'applicazione per supportare l'aggiornamento di SQL Server.

Potrebbero essere necessarie considerazioni aggiuntive per la migrazione dei servizi di Business Intelligence se nell'ambito della migrazione.

Modalità lift-and-shift

La tabella seguente illustra in dettaglio il metodo disponibile per la strategia di migrazione lift-and-shift per eseguire la migrazione del database di SQL Server a SQL Server in macchine virtuali di Azure:

Metodo Versione minima di origine Versione minima di destinazione Vincolo delle dimensioni del backup di origine Note
Azure Migrate SQL Server 2008 SP4 SQL Server 2012 SP4 Limite di archiviazione della macchina virtuale di Azure SQL Server esistente da spostare così com'è nell'istanza di SQL Server in una macchina virtuale di Azure. È possibile ridimensionare i carichi di lavoro di migrazione fino a 35.000 macchine virtuali.

I server di origine rimangono online e le richieste di manutenzione durante la sincronizzazione dei dati del server, riducendo al minimo i tempi di inattività.

Automazione e scripting: Script di Azure Site Recovery ed esempio di migrazione e pianificazione con scalabilità per Azure

Nota

È ora possibile trasferire in modalità lift-and-shift sia l'istanza del cluster di failover che la soluzione del gruppo di disponibilità a SQL Server in macchine virtuali di Azure usando Azure Migrate.

Migrazione

A causa della facilità di installazione, l'approccio consigliato per la migrazione consiste nell'eseguire un backup nativo di SQL Server in locale e quindi copiare il file in Azure. Questo metodo supporta database di dimensioni maggiori (>1 TB) per tutte le versioni di SQL Server a partire dalla versione 2008 e dai backup di database di dimensioni maggiori (>1 TB). A partire da SQL Server 2014, per il database di dimensioni inferiori a 1 TB con connettività ottimale ad Azure, il backup di SQL Server nell'URL è l'approccio migliore.

Quando si esegue la migrazione di database DI SQL Server a un'istanza di SQL Server in macchine virtuali di Azure, è importante scegliere un approccio appropriato quando è necessario passare al server di destinazione perché ciò influisce sulla finestra di inattività dell'applicazione.

La tabella seguente illustra in dettaglio tutti i metodi disponibili per eseguire la migrazione del database di SQL Server a SQL Server nelle macchine virtuali di Azure:

Metodo Versione minima di origine Versione minima di destinazione Vincolo delle dimensioni del backup di origine Note
Estensione di migrazione SQL di Azure per Azure Data Studio SQL Server 2008 SQL Server 2012 Limite di archiviazione della macchina virtuale di Azure Si tratta di un'estensione semplice basata su procedura guidata in Azure Data Studio per la migrazione di database di SQL Server a SQL Server in macchine virtuali di Azure. Usare la compressione per ridurre al minimo le dimensioni del backup per il trasferimento.

L'estensione di migrazione SQL di Azure per Azure Data Studio offre funzionalità di valutazione, raccomandazione e migrazione di Azure in un'interfaccia utente semplice e supporta migrazioni con tempi di inattività minimi.
Gruppi di disponibilità distribuiti SQL Server 2016 SQL Server 2016 Limite di archiviazione della macchina virtuale di Azure Un gruppo di disponibilità distribuito è un tipo particolare di gruppo di disponibilità che comprende due gruppi di disponibilità distinti. I gruppi di disponibilità che fanno parte di un gruppo di disponibilità distribuito non devono necessariamente trovarsi nella stessa posizione.

Questo metodo riduce al minimo i tempi di inattività, usare quando si dispone di un gruppo di disponibilità configurato in locale.

Automazione e scripting: T-SQL
Eseguire il backup in un file SQL Server 2008 SP4 SQL Server 2012 SP4 Limite di archiviazione della macchina virtuale di Azure È una tecnica molto semplice e ben collaudata per spostare i database tra più computer. Usare la compressione per ridurre al minimo le dimensioni del backup per il trasferimento.

Automazione e scripting: Transact-SQL (T-SQL) e AzCopy nell'archivio BLOB
Backup su URL SQL Server 2012 SP1 CU2 SQL Server 2012 SP1 CU2 12.8 TB per SQL Server 2016, in caso contrario 1 TB Un modo alternativo per spostare il file di backup nella macchina virtuale usando Archiviazione di Azure. Usare la compressione per ridurre al minimo le dimensioni del backup per il trasferimento.

Automazione e scripting: T-SQL o piano di manutenzione
Database Migration Assistant (DMA) SQL Server 2005 SQL Server 2012 SP4 Limite di archiviazione della macchina virtuale di Azure DMA valuta SQL Server in locale e quindi esegue facilmente l'aggiornamento a versioni successive di SQL Server o esegue la migrazione a SQL Server in macchine virtuali di Azure, database SQL di Azure o Istanza gestita di SQL di Azure.

Non deve essere usato nei database utente abilitati per FILESTREAM.

DMA include anche la possibilità di eseguire la migrazione di account di accesso SQL e Windows e valutare i pacchetti SSIS.

Automazione e scripting: Interfaccia della riga di comando
Scollegamento e collegamento SQL Server 2008 SP4 SQL Server 2014 Limite di archiviazione della macchina virtuale di Azure Usare questo metodo quando si prevede di archiviare questi file usando Archiviazione BLOB di Azure e collegarli a un'istanza di SQL Server in una macchina virtuale di Azure, utile con database di dimensioni molto grandi o quando il tempo di backup e ripristino è troppo lungo.

Automazione e scripting: T-SQL e archiviazione BLOB di AzCopy
Log shipping SQL Server 2012 SP4 (solo Windows) SQL Server 2012 SP4 (solo Windows) Limite di archiviazione della macchina virtuale di Azure Il log shipping replica i file di log transazionali dall'ambiente locale a un'istanza di SQL Server in una macchina virtuale di Azure.

Ciò garantisce tempi di inattività minimi durante il failover e ha un sovraccarico di configurazione inferiore rispetto alla configurazione di un gruppo di disponibilità Always On.

Automazione e scripting: T-SQL
Conversione della macchina locale a dischi rigidi virtuali Hyper-V, caricamento sull'archivio BLOB di Azure e successiva distribuzione di una nuova macchina virtuale tramite il disco rigido virtuale caricato SQL Server 2012 o versione successiva SQL Server 2012 o versione successiva Limite di archiviazione della macchina virtuale di Azure Usare per la propria licenza di SQL Server, per la migrazione di un database che verrà eseguito su una versione precedente di SQL Server o per la migrazione combinata dei database di sistema e utente nell'ambito della migrazione di database dipendenti da altri database utente e/o di sistema.
Spedizione del disco rigido tramite il servizio di Importazione/Esportazione di Windows SQL Server 2012 o versione successiva SQL Server 2012 o versione successiva Limite di archiviazione della macchina virtuale di Azure Usare il servizio di importazione/esportazione di Windows quando il metodo della copia manuale è troppo lento, ad esempio con database di grandi dimensioni

Suggerimento

Considerazioni

Di seguito è riportato un elenco di punti chiave da considerare quando si esaminano i metodi di migrazione:

  • Per ottenere prestazioni ottimali per il trasferimento dei dati, eseguire la migrazione di database e file in un'istanza di SQL Server in una macchina virtuale di Azure usando un file di backup compresso. Per i database di dimensioni maggiori, oltre alla compressione, suddividere il file di backup in file più piccoli per migliorare le prestazioni durante il backup e il trasferimento.
  • Se si esegue la migrazione da SQL Server 2014 o versione successiva, è consigliabile crittografare i backup per proteggere i dati durante il trasferimento di rete.
  • Per ridurre al minimo i tempi di inattività durante la migrazione del database, usare l'estensione migrazione SQL di Azure in Azure Data Studio o l'opzione del gruppo di disponibilità Always On.
  • Per limitare le opzioni di rete, usare metodi di migrazione offline, ad esempio backup e ripristino, o servizi di trasferimento su disco disponibili in Azure.
  • Per modificare anche la versione di SQL Server in una macchina virtuale di SQL Server in Azure, vedere Modificare l'edizione di SQL Server.

Business Intelligence

Quando si esegue la migrazione dei servizi di Business Intelligence di SQL Server all'esterno dell'ambito delle migrazioni di database, possono essere presenti considerazioni aggiuntive.

SQL Server Integration Services

È possibile eseguire la migrazione di pacchetti e progetti di SQL Server Integration Services (SSIS) in SSISDB in SQL Server in una macchina virtuale di Azure usando uno dei due metodi seguenti.

Se sono stati distribuiti pacchetti SSIS come modello di distribuzione del pacchetto, è possibile convertirli prima della migrazione. Per altre informazioni, vedere l'esercitazione sulla conversione del progetto.

SQL Server Reporting Services

Per eseguire la migrazione dei report di SQL Server Reporting Services (SSRS) a SQL Server di destinazione nella macchina virtuale di Azure, vedere Eseguire la migrazione di un'installazione di Reporting Services (modalità nativa)

In alternativa, è anche possibile eseguire la migrazione dei report SSRS ai report impaginati in Power BI. Usare lo strumento di migrazione RDL per preparare ed eseguire la migrazione dei report. Microsoft ha sviluppato questo strumento per consentire ai clienti di eseguire la migrazione di report RDL (Report Definition Language) dai server SSRS a Power BI. È disponibile in GitHub e documenta una procedura dettagliata end-to-end dello scenario di migrazione.

SQL Server Analysis Services

È possibile eseguire la migrazione di database di SQL Server Analysis Services (modelli multidimensionali o tabulari) dall'istanza di SQL Server di origine a SQL Server nella macchina virtuale di Azure usando una delle opzioni seguenti:

  • In modo interattivo tramite SSMS
  • Uso a livello di codice di Analysis Management Objects (AMO)
  • Tramite script tramite XMLA (XML for Analysis)

Per altre informazioni, vedere Backup e ripristino di database di Analysis Services.

In alternativa, è possibile valutare la possibilità di eseguire la migrazione dei modelli tabulari di Azure Analysis Services o Power BI Premium usando i nuovi endpoint di lettura/scrittura XMLA.

Oggetti server

A seconda del programma di installazione in SQL Server di origine, potrebbero essere presenti funzionalità aggiuntive di SQL Server che richiederanno l'intervento manuale per eseguirne la migrazione a SQL Server in una macchina virtuale di Azure generando script in Transact-SQL (T-SQL) usando SQL Server Management Studio e quindi eseguendo gli script nella macchina virtuale di SQL Server di destinazione in una macchina virtuale di Azure. Alcuni di quelli comunemente usati sono:

  • Account di accesso e ruoli
  • Server collegati
  • Origini dati esterne
  • Processi agente
  • Avvisi
  • Posta elettronica database
  • Replica

Per un elenco completo dei metadati e degli oggetti server da spostare, vedere Gestire i metadati quando si rende disponibile un database in un altro server.

Versioni supportate

Quando si prepara per la migrazione di database di SQL Server a SQL Server in macchine virtuali di Azure, assicurarsi di prendere in considerazione le versioni di SQL Server supportate. Per un elenco delle versioni correnti di SQL Server supportate nelle macchine virtuali di Azure, vedere SQL Server in macchine virtuali di Azure.

Risorse per la migrazione

Per altre informazioni, vedere le risorse seguenti sviluppate per i progetti di migrazione reali.

Risorsa Descrizione
Strumento e modello di valutazione dei carichi di lavoro dei dati Questo strumento indica le piattaforme di destinazione "più idonee" suggerite, la preparazione per il cloud e il livello di correzione di applicazioni/database per un determinato carico di lavoro. Offre funzionalità semplici e accessibili con un solo clic per l'esecuzione di calcoli e la generazione di report, che consentono di accelerare le valutazioni in ambienti estesi grazie a un processo decisionale automatizzato e uniforme per la piattaforma di destinazione.
Automatizzazione della raccolta dati Perfmon tramite Logman Strumento che raccoglie i dati Di esecuzione per comprendere le prestazioni di base che aiutano la raccomandazione sulla destinazione della migrazione. Questo strumento usa logman.exe per creare il comando che creerà, avvierà, arresta ed elimina i contatori delle prestazioni impostati in un'istanza remota di SQL Server.
Multiple-SQL-VM-VNet-ILB Questo white paper illustra i passaggi per configurare più macchine virtuali di Azure in una configurazione del gruppo di disponibilità AlwaysOn di SQL Server.
Macchine virtuali di Azure che supportano Ultra SSD per area Questi script di PowerShell offrono un'opzione a livello di codice per recuperare l'elenco di aree che supportano macchine virtuali di Azure che supportano unità SSD Ultra.

Queste risorse sono state progettate dal team di progettazione dei dati di SQL. L'obiettivo principale di questo team consiste nello sbloccare e accelerare la modernizzazione complessa per i progetti di migrazione della piattaforma dati alla piattaforma dati di Microsoft Azure.

Passaggi successivi

Per avviare la migrazione dei database di SQL Server a SQL Server in macchine virtuali di Azure, vedere la Guida alla migrazione di singoli database.

Per un elenco dei servizi e degli strumenti di Il Microsoft e di terze parti disponibili per agevolare diversi scenari di migrazione di database e dati, nonché per attività speciali, vedere Strumenti e servizi per la migrazione dei dati.

Per altre informazioni su Azure SQL vedere:

Per altre informazioni sul framework e sul ciclo di adozione per le migrazioni cloud, vedere:

Per informazioni sulle licenze, vedere: