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

Si applica a: SQL Server in Macchine virtuali Azure

In questa guida si apprenderà come eseguire la migrazione dei database utente da SQL Server a un'istanza di SQL Server in Macchine virtuali di Azure da strumenti e tecniche in base alle esigenze.

Esaminare i prerequisiti e completare i passaggi di pre-migrazione prima di continuare.

Migrazione

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 l'esecuzione di una migrazione in ordine di preferenza:

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

Per eseguire una migrazione con tempi di inattività minimi con Azure Data Studio, seguire questa procedura dettagliata. Per un'esercitazione dettagliata vedere Esercitazione: eseguire la migrazione online di SQL Server a SQL Server su Macchine virtuali di Azure con Servizio Migrazione del database:

  1. Scaricare e installare Azure Data Studio e l'estensione di Migrazione SQL di Azure.
  2. Eseguire la migrazione usando l'estensione di Azure SQL per Azure Data Studio.
  3. Selezionare i database per la valutazione e visualizzare i problemi di idoneità o di preparazione della migrazione (se presenti). Inoltre, raccogliere i dati sulle prestazioni e ottenere consigli di Azure appropriati.
  4. Selezionare l'account Azure e l'istanza di SQL Server di destinazione 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 Archiviazione BLOB di Una serie Azure contenitore.
  6. Creare un nuovo 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 necessario.
  7. Facoltativo: è necessario scaricare e installare il runtime di integrazione self-hosted in una macchina con accesso all'istanza di SQL Server di origine e alla posizione contenente i file di backup se i backup si trovano in una condivisione di rete locale.
  8. Dopo aver avviato la migrazione del database, è possibile monitorare lo stato di avanzamento in Azure Data Studio. È anche possibile tenere traccia dello stato di avanzamento nel portale di Azure nella risorsa del servizio Migrazione del database di Azure.
  9. Completare il cutover.
    1. Arrestare tutte le transazioni in ingresso nel database di origine.
    2. Apportare le modifiche alla configurazione dell'applicazione per puntare al database di destinazione in SQL Server in Macchine virtuali di Azure.
    3. Eseguire un backup del log finale del database di origine nella posizione di backup specificata.
    4. Assicurarsi che tutti i backup del database abbiano lo stato Ripristinato nella pagina dei dettagli del monitoraggio.
    5. Selezionare Completare cutover nella pagina dei dettagli del monitoraggio.

Backup e ripristino

Per eseguire una migrazione standard usando il backup e il ripristino:

  1. Configurare la connettività a SQL Server in VM Azure in base alle esigenze. Per altre informazioni, vedere Connettersi a una macchina virtuale su Azure.
  2. Sospendere o arrestare tutte le applicazioni che usano database destinati alla migrazione.
  3. Verificare che i database utente siano inattivi usando la modalità utente singolo.
  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 Data Explorer o l'utilità della riga di comando AzCopy. È consigliabile eseguire backup superiori a 2 TB.
  6. Si prevede di eseguire la migrazione del database a SQL Server in Macchine virtuali di Azure.

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 risiedano nell'archivio BLOB, che potrebbe essere utile per i database di dimensioni 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'Archiviazione 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.

Log shipping

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.

Per altre informazioni, vedere Compilazione nativa di tabelle e stored procedure.

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 esterni ai database utente

Potrebbero essere necessari altri oggetti di SQL Server per il funzionamento senza problemi 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 Modello Invio di query con SQL Server Management Studio.
Il database tempdb Pianificare lo spostamento tempdb nel disco temporaneo della VM di Azure (SSD) per ottenere prestazioni ottimali. Assicurarsi di selezionare una dimensione di macchina virtuale con un'unità 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 Invio di query con SQL Server Management Studio.
Provider del servizio di crittografia È consigliabile eseguire la conversione per usare Azure Key Vault. Questa procedura usa l'estensione SQL IaaS Agent.
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 l'estensione SQL IaaS Agent.
Server collegati Invio di query con SQL Server Management Studio.
Trigger server Invio di query con SQL Server Management Studio.
Replica Pubblicazioni locali Invio di query con SQL Server Management Studio.
Sottoscrittori locali Invio di query con SQL Server Management Studio.
PolyBase PolyBase Invio di query con SQL Server Management Studio.
Gestione Posta elettronica database Invio di query con SQL Server Management Studio.
SQL Server Agent Processi Invio di query con SQL Server Management Studio.
Avvisi Invio di query con SQL Server Management Studio.
Operatori Invio di query con SQL Server Management Studio.
Proxy Invio di query con SQL Server Management Studio.
Sistema operativo File e condivisione file Prendere nota di tutti gli altri file o condivisioni file usati dai server SQL e di replicare nella destinazione Macchine virtuali di Azure.

Dopo la 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. Per completare questa attività, in alcuni casi sarà necessario apportare modifiche alle applicazioni.

Applicare eventuali correzioni consigliate da Data Migration Assistant ai database utente. È necessario creare uno script per 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. È necessario creare le query di convalida da eseguire sia sul database di origine che su quello 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 sull'origine e sulla destinazione, quindi analizzare e confrontare i risultati.

Suggerimento

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

Optimize (Ottimizza)

La fase di post-migrazione è fondamentale per risolvere eventuali problemi di accuratezza dei dati e verificarne la completezza, nonché per risolvere possibili problemi di prestazioni con il carico di lavoro.

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