Guida alla migrazione: SQL Server a SQL Server in Azure Macchine virtuali

Si applica a: SQL Server nella macchina virtuale di Azure

In questa guida viene illustrato come individuare, valutare e eseguire la migrazione dei database utente da SQL Server a un'istanza di SQL Server in Azure Macchine virtuali da strumenti e tecniche in base ai requisiti.

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

  • SQL Server nelle macchine virtuali.
  • Amazon Web Services (AWS) EC2.
  • Amazon Relational Database Service (AWS RDS).
  • Motore di calcolo (Google Cloud Platform [GCP]).

Per informazioni sulle strategie di migrazione aggiuntive, vedere panoramica della migrazione di macchine virtuali SQL Server. Per altre guide alla migrazione, vedere Guide alla migrazione del database di Azure.

Diagramma che mostra un flusso di processo di migrazione.

Prerequisiti

La migrazione a SQL Server in Azure Macchine virtuali richiede le risorse seguenti:

Pre-migrazione

Prima di iniziare la migrazione, è necessario individuare la topologia dell'ambiente SQL e valutare la fattibilità della migrazione prevista.

Rilevazione

Azure Migrate valuta l'idoneità della migrazione dei computer locali, esegue il ridimensionamento basato sulle prestazioni e fornisce stime dei costi per l'esecuzione in locale. Per pianificare la migrazione, usare Azure Migrate per identificare le origini dati esistenti e informazioni dettagliate sulle funzionalità usate dalle istanze di SQL Server. Questo processo comporta l'analisi della rete per identificare tutte le istanze di SQL Server nell'organizzazione con la versione e le funzionalità in uso.

Importante

Quando si sceglie una macchina virtuale di Azure di destinazione per l'istanza di SQL Server, assicurarsi di considerare le linee guida per le prestazioni per SQL Server in Azure Macchine virtuali.

Per altri strumenti di individuazione, vedere i servizi e gli strumenti disponibili per gli scenari di migrazione dei dati.

Valutazione

Quando si esegue la migrazione da SQL Server locale a SQL Server in Azure Macchine virtuali, è improbabile che si verifichino problemi di compatibilità o parità delle funzionalità se le versioni di origine e SQL Server destinazione sono uguali. Se non si aggiorna la versione di SQL Server, ignorare questo passaggio e passare alla sezione Migrate.

Prima della migrazione, è comunque consigliabile eseguire una valutazione dei database SQL Server per identificare i blocchi di migrazione (se presenti) e l'estensione di migrazione Azure SQL per Azure Data Studio prima della migrazione.

Nota

Se si valuta l'intero patrimonio di dati SQL Server su larga scala in VMWare, usare Azure Migrate per ottenere raccomandazioni per la distribuzione di Azure SQL, il ridimensionamento delle entità di destinazione e le stime mensili.

Valutare i database utente

L'estensione di migrazione Azure SQL per Azure Data Studio offre un'esperienza basata su procedura guidata semplice per valutare, ottenere consigli di Azure e eseguire la migrazione dei database SQL Server locali a SQL Server in Azure Macchine virtuali. Inoltre, evidenziando eventuali blocchi di migrazione o avvisi, l'estensione include anche un'opzione per i consigli di Azure per raccogliere i dati sulle prestazioni dei database per consigliare una SQL Server di dimensioni corrette in Azure Macchine virtuali per soddisfare le esigenze di prestazioni del carico di lavoro (con il prezzo minimo).

Per altre informazioni sulle raccomandazioni di Azure, vedere Ottenere consigli di Azure di dimensioni appropriate per i database di SQL Server locali.

Importante

Per valutare i database usando l'estensione di migrazione Azure SQL, assicurarsi che gli account di accesso usati per connettere l'SQL Server di origine siano membri del ruolo del server sysadmin o abbiano l'autorizzazione CONTROL SERVER.

Per un aggiornamento della versione, usare Data Migration Assistant per valutare le istanze locali SQL Server se si esegue l'aggiornamento a un'istanza di SQL Server in Azure Macchine virtuali con una versione successiva per comprendere le lacune tra le versioni di origine e di destinazione.

Valutare le applicazioni

In genere, un livello applicazione accede ai database utente per rendere persistenti e modificare i dati. Data Migration Assistant può valutare il livello di accesso ai dati di un'applicazione in due modi:

Durante la valutazione dei database utente, usare Data Migration Assistant per importare file di traccia acquisiti o Data Access Migration Toolkit.

Valutazioni su larga scala

Se si dispone di più server che richiedono la valutazione dell'idoneità di Azure, è possibile automatizzare il processo usando script usando una delle opzioni seguenti. Per altre informazioni sull'uso dello scripting, vedere Eseguire la migrazione dei database su larga scala usando l'automazione.

Per la creazione di report di riepilogo in aree di grandi dimensioni, è possibile consolidare anche le valutazioni Data Migration Assistant in Azure Migrate.

Aggiornare i database con Data Migration Assistant

Per lo scenario di aggiornamento, potrebbe essere disponibile una serie di consigli per garantire che i database utente eseguano e funzionino correttamente dopo l'aggiornamento. Data Migration Assistant fornisce informazioni dettagliate sugli oggetti e le risorse interessati per risolvere ogni problema. Assicurarsi di risolvere tutte le modifiche e i comportamenti di rilievo prima di avviare l'aggiornamento di produzione.

Per le funzionalità deprecate, è possibile scegliere di eseguire i database utente nella modalità di compatibilità originale se si desidera evitare di apportare queste modifiche e velocizzare la migrazione. Questa azione impedirà l'aggiornamento della compatibilità del database finché non sono stati risolti gli elementi deprecati.

Attenzione

Non tutte le versioni SQL Server supportano tutte le modalità di compatibilità. Verificare che la versione di SQL Server di destinazione supporti la compatibilità del database scelta. Ad esempio, SQL Server 2019 non supporta i database con compatibilità a livello 90 (ovvero SQL Server 2005). Questi database richiedono almeno un aggiornamento al livello di compatibilità 100.

Migrate

Dopo aver completato i passaggi di pre-migrazione, è possibile eseguire la migrazione dei database utente e dei componenti. Eseguire la migrazione dei database usando il metodo di migrazione preferito.

Le sezioni seguenti forniscono opzioni per eseguire una migrazione in ordine di preferenza usando:

  • backup e ripristino
  • migrazione minima dei tempi di inattività usando il backup e il ripristino insieme al log shipping
  • scollegare e collegare da un URL
  • convertire in una macchina virtuale
  • spedizione di un disco rigido

Eseguire la migrazione usando l'estensione di migrazione Azure SQL per Azure Data Studio (tempi di inattività minimi)

Per eseguire una migrazione di tempo di inattività minima con Azure Data Studio, seguire la procedura di alto livello seguente. Per un'esercitazione dettagliata, vedere Eseguire la migrazione di SQL Server a SQL Server in Macchina virtuale di Azure online con Azure Data Studio:

  1. Scaricare e installare Azure Data Studio e l'estensione di migrazione Azure SQL.
  2. Avviare la procedura guidata Migrate to Azure SQL nell'estensione in Azure Data Studio.
  3. Selezionare i database per la valutazione e visualizzare la conformità o i problemi di preparazione della migrazione (se presenti). Inoltre, raccogliere i dati sulle prestazioni e ottenere consigli di Azure di dimensioni corrette.
  4. Selezionare l'account Azure e la destinazione SQL Server in Azure Machine dalla sottoscrizione.
  5. Selezionare il percorso dei backup del database. I backup del database possono trovarsi in una condivisione di rete locale o in un contenitore BLOB di archiviazione di Azure.
  6. Creare una nuova Servizio Migrazione del database di Azure usando la procedura guidata in Azure Data Studio. Se in precedenza è stato creato un Servizio Migrazione del database di Azure usando Azure Data Studio, è possibile riutilizzare lo stesso se desiderato.
  7. Facoltativo: se i backup si trovano in una condivisione di rete locale, scaricare e installare il runtime di integrazione self-hosted in un computer che può connettersi all'origine SQL Server e il percorso contenente i file di backup.
  8. Avviare la migrazione del database e monitorare lo stato di avanzamento in Azure Data Studio. È anche possibile monitorare lo stato di avanzamento nella risorsa Servizio Migrazione del database di Azure in portale di Azure.
  9. Completare il taglio.
    1. Arrestare tutte le transazioni in ingresso nel database di origine.
    2. Apportare modifiche alla configurazione dell'applicazione per puntare al database di destinazione in SQL Server nella macchina virtuale di Azure.
    3. Eseguire tutti i backup del log di coda per il database di origine nel percorso di backup specificato.
    4. Assicurarsi che tutti i backup del database abbiano lo stato Ripristinato nella pagina dei dettagli del monitoraggio.
    5. Selezionare Completa taglio nella pagina dei dettagli del monitoraggio.

Backup e ripristino

Per eseguire una migrazione standard usando backup e ripristino:

  1. Configurare la connettività per SQL Server in Azure Macchine virtuali in base ai requisiti. Per altre informazioni, vedere Connettersi a una macchina virtuale SQL Server in Azure (Resource Manager).
  2. Sospendere o arrestare tutte le applicazioni che usano database destinati alla migrazione.
  3. Assicurarsi che i database utente siano inattivi usando la modalità utente singola.
  4. Eseguire un backup completo del database su una posizione locale.
  5. Copiare i file di backup locali nella macchina virtuale usando un desktop remoto, Azure Esplora dati o l'utilità da riga di comando AzCopy. Sono consigliati backup superiori a 2 TB.
  6. Ripristinare i backup completi del database nel SQL Server in Azure Macchine virtuali.

Rimuovere e allegare da un URL

Rimuovere il database e i file di log e trasferirli nell'archivio BLOB di Azure. Allegare il database dall'URL nella macchina virtuale di Azure. Usare questo metodo se si desidera che i file di database fisici si trovino nell'archiviazione BLOB, che potrebbero essere utili per database molto grandi. Per eseguire la migrazione di un database utente tramite il metodo manuale, attenersi ai passaggi generali seguenti:

  1. Scollegare i file del database dall'istanza del database locale.
  2. Copiare i file del database scollegati nell'archivio BLOB di Azure usando l'utilità della riga di comando AZCopy.
  3. Collegare i file del database dall'URL di Azure all'istanza di SQL Server nella macchina virtuale di Azure.

Convertire in una macchina virtuale, caricare in un URL e distribuire come nuova macchina virtuale

Usare questo metodo per eseguire la migrazione di tutti i database di sistema e utente in un'istanza di SQL Server locale a una macchina virtuale di Azure. Per eseguire la migrazione di un'intera istanza di SQL Server utilizzando il metodo manuale, attenersi ai passaggi generali seguenti:

  1. Convertire le macchine fisiche o virtuali in dischi rigidi virtuali Hyper-V.
  2. Caricare i file dei dischi rigidi virtuali su Archiviazione di Azure usando il cmdlet Add-AzureVHD.
  3. Distribuire una nuova macchina virtuale utilizzando il disco rigido virtuale caricato.

Nota

Per eseguire la migrazione di un'intera applicazione, è consigliabile usare Azure Site Recovery.

Spedire un disco rigido

Usare il metodo del servizio di importazione/esportazione di Windows per trasferire grandi quantità di dati di file sull'archivio BLOB di Azure in situazioni in cui il caricamento in rete è eccessivamente costoso o non è possibile. Con questo servizio, è possibile inviare uno o più dischi rigidi contenenti tali dati a un data center di Azure, dove i dati verranno caricati nell'account di archiviazione.

Eseguire la migrazione di oggetti all'esterno dei database utente

Altri oggetti SQL Server potrebbero essere necessari per l'operazione semplice dei database utente dopo la migrazione.

La tabella seguente fornisce un elenco di componenti e metodi di migrazione consigliati che possono essere completati prima o dopo la migrazione dei database utente.

Funzionalità Componente Metodi di migrazione
Database Modellare Script con SQL Server Management Studio.
Tempdb Pianificare lo spostamento di tempDB nel disco temporaneo della macchina virtuale di Azure (SSD) per ottenere prestazioni ottimali. Assicurarsi di selezionare una dimensione della macchina virtuale con un SSD locale sufficiente per supportare tempDB.
Database utente con FileStream Usare i metodi di backup e ripristino per la migrazione. Data Migration Assistant non supporta i database con FileStream.
Sicurezza SQL Server e account di accesso di Windows Usare Data Migration Assistant per eseguire la migrazione degli account di accesso utente.
ruoli SQL Server Script con SQL Server Management Studio.
Provider del servizio di crittografia Consiglia la conversione in modo da usare Azure Key Vault. Questa procedura usa il provider di risorse della macchina virtuale SQL.
Oggetti server Dispositivi di backup Sostituire con il backup del database usando Backup di Azure o scrivere backup in Archiviazione di Azure (SQL Server 2012 SP1 CU2 +). Questa procedura usa il provider di risorse della macchina virtuale SQL.
Server collegati Script con SQL Server Management Studio.
Trigger del server Script con SQL Server Management Studio.
Replica Pubblicazioni locali Script con SQL Server Management Studio.
Sottoscrittori locali Script con SQL Server Management Studio.
PolyBase PolyBase Script con SQL Server Management Studio.
Gestione Posta elettronica database Script con SQL Server Management Studio.
SQL Server Agent Processi Script con SQL Server Management Studio.
Avvisi Script con SQL Server Management Studio.
Operatori Script con SQL Server Management Studio.
Proxy Script con SQL Server Management Studio.
Sistema operativo File, condivisioni file Prendere nota di tutti gli altri file o condivisioni file usati dai server SQL e di replicare nella destinazione di Azure Macchine virtuali.

Post-migrazione

Dopo aver completato la fase di migrazione, è necessario completare una serie di attività post-migrazione per assicurarsi che tutto funzioni nel modo più corretto ed efficiente possibile.

Correggere le applicazioni

Dopo la migrazione dei dati nell'ambiente di destinazione, tutte le applicazioni che in precedenza usavano l'origine devono iniziare a usare la destinazione. L'esecuzione di questa attività potrebbe richiedere modifiche alle applicazioni in alcuni casi.

Applicare eventuali correzioni consigliate da Data Migration Assistant ai database utente. È necessario creare uno script di queste correzioni per garantire la coerenza e consentire l'automazione.

Eseguire test

L'approccio di test per la migrazione del database prevede le attività seguenti:

  1. Sviluppare i test di convalida: per testare la migrazione del database, è necessario usare query SQL. Creare query di convalida da eseguire sia nei database di origine che di destinazione. Le query di convalida devono essere estese all'ambito definito.
  2. Configurare un ambiente di test: l'ambiente di test deve contenere una copia del database di origine e del database di destinazione. Assicurarsi di isolare l'ambiente di test.
  3. Eseguire i test di convalida: eseguire i test di convalida sull'origine e sulla destinazione, quindi analizzare i risultati.
  4. Eseguire test delle prestazioni: eseguire test delle prestazioni rispetto all'origine e alla destinazione e quindi analizzare e confrontare i risultati.

Suggerimento

Usare il Database Experimentation Assistant per facilitare la valutazione delle prestazioni di SQL Server di destinazione.

Ottimizzazione

La fase post-migrazione è fondamentale per la riconciliazione di eventuali problemi di accuratezza dei dati, verifica della completezza e risoluzione dei potenziali problemi di prestazioni con il carico di lavoro.

Per altre informazioni su questi problemi e sui passaggi per attenuarli, vedere:

Passaggi successivi