Esercitazione: Eseguire la migrazione di SQL Server a un Istanza gestita di SQL di Azure online tramite Servizio Migrazione del database (versione classica)

Importante

Servizio Migrazione del database di Azure (versione classica): gli scenari SQL si trovano in un percorso di deprecazione. Dal 1° agosto 2023 non è più possibile creare nuove risorse di Servizio Migrazione del database (versione classica) per gli scenari di SQL Server da portale di Azure. Il servizio verrà ritirato il 15 marzo 2026 per tutti i clienti. Per le migrazioni senza problemi da più origini di database alle destinazioni SQL di Azure, Microsoft consiglia di usare la versione più recente di Servizio Migrazione del database di Azure, disponibile come Migrazione SQL di Azure come estensione in Azure Data Studio o tramite il portale di Azure o tramite Azure PowerShell e l'interfaccia della riga di comando di Azure. Per altre informazioni, vedere Avviso di ritiro: Servizio Migrazione del database (versione classica).

Nota

Questa esercitazione usa una versione precedente del Servizio Migrazione del database di Azure. Per migliorare le funzionalità e il supporto, valutare la possibilità di eseguire la migrazione a Istanza gestita di SQL di Azure usando l'estensione di migrazione SQL di Azure per Azure Data Studio.

Per confrontare le funzionalità tra le versioni, vedere Confrontare le versioni.

È possibile usare Servizio Migrazione del database di Azure per eseguire la migrazione dei database da un'istanza di SQL Server a Istanza gestita di SQL di Azure con tempi di inattività minimi. Per metodi aggiuntivi che potrebbero richiedere operazioni manuali, vedere l'articolo Migrazione dell'istanza di SQL Server a Istanza gestita di SQL di Azure.

In questa esercitazione si esegue la migrazione del database AdventureWorks2016 da un'istanza locale di SQL Server a un Istanza gestita di SQL con tempi di inattività minimi usando Servizio Migrazione del database di Azure.

Scopri come:

  • Registrare il provider di risorse Azure DataMigration.
  • Creare un'istanza del servizio Migrazione del database di Azure.
  • Creare un progetto di migrazione e avviare la migrazione online usando Servizio Migrazione del database di Azure.
  • Monitorare la migrazione.
  • Eseguire il cutover della migrazione quando si è pronti.

Importante

Per le migrazioni online da SQL Server a Istanza gestita di SQL con Servizio Migrazione del database di Azure, è necessario fornire il backup del database completo e i successivi backup del log nella condivisione di rete SMB che il servizio può usare per eseguire la migrazione dei database. Servizio Migrazione del database di Azure non avvia alcun backup, ma usa i backup esistenti, che potrebbero già fare parte del piano di ripristino di emergenza, per la migrazione. Ogni backup può essere scritto in un file di backup separato o in più file di backup. Tuttavia, l'aggiunta di più backup ( ovvero full e t-log) in un singolo supporto di backup non è supportata. Usare i backup compressi per ridurre la probabilità di riscontrare potenziali problemi associati alla migrazione di backup di grandi dimensioni.

Nota

L'uso del Servizio Migrazione del database di Azure per eseguire una migrazione online richiede la creazione di un'istanza basata sul piano tariffario Premium.

Importante

Per un'esperienza di migrazione ottimale, Microsoft consiglia di creare un'istanza del Servizio Migrazione del database di Azure nella stessa area di Azure del database di destinazione. Lo spostamento dei dati tra regioni o aree geografiche può rallentare il processo di migrazione e causare errori.

Importante

Ridurre il più possibile la durata del processo di migrazione online per limitare i rischi di interruzioni causate dalla riconfigurazione dell'istanza o dalla manutenzione pianificata. Se si verifica un evento di questo tipo, il processo di migrazione ricomincerà dall'inizio. In caso di manutenzione pianificata, è previsto un periodo di tolleranza di 36 ore prima che il processo di migrazione venga riavviato.

Suggerimento

In Servizio Migrazione del database di Azure è possibile eseguire la migrazione dei database offline o mentre sono online. In una migrazione offline , il tempo di inattività dell'applicazione inizia all'avvio della migrazione. Per limitare il tempo di inattività al tempo necessario per passare al nuovo ambiente dopo la migrazione, usare una migrazione online . È consigliabile testare una migrazione offline per determinare se il tempo di inattività è accettabile. Se il tempo di inattività previsto non è accettabile, eseguire una migrazione online.

Questo articolo descrive una migrazione online da SQL Server a Istanza gestita di SQL. Per una migrazione offline, vedere Eseguire la migrazione offline di SQL Server a Istanza gestita di SQL con Servizio Migrazione del database di Azure.

Prerequisiti

Per completare questa esercitazione, è necessario:

  • Scaricare e installare SQL Server 2016 o versione successiva.

  • Abilitare il protocollo TCP/IP, che viene disabilitato per impostazione predefinita durante l'installazione di SQL Server Express, seguendo le istruzioni riportate nell'articolo Abilitare o disabilitare un protocollo di rete del server.

  • Ripristinare il database AdventureWorks2016 nell'istanza di SQL Server.

  • Creare una rete virtuale di Microsoft Azure per il servizio Migrazione del database di Azure usando il modello di distribuzione Azure Resource Manager, che offre la connettività da sito a sito per i server di origine locali con ExpressRoute o VPN. Acquisire familiarità con le topologie di rete per le migrazioni a Istanza gestita di SQL con Servizio Migrazione del database di Azure. Per altre informazioni sulla creazione di una rete virtuale, vedere la documentazione sulla rete virtuale e in particolare gli articoli di avvio rapido con istruzioni dettagliate.

    Nota

    Durante la configurazione della rete virtuale, se si usa ExpressRoute con il peering di rete per Microsoft, aggiungere gli endpoint servizio seguenti alla subnet in cui verrà effettuato il provisioning del servizio:

    • Endpoint del database di destinazione (ad esempio endpoint SQL, endpoint di Azure Cosmos DB e così via)
    • Endpoint di archiviazione
    • Endpoint bus di servizio

    Questa configurazione è necessaria perché il Servizio Migrazione del database di Azure non ha connettività Internet.

    Se la connettività da sito a sito tra la rete locale e Azure non è disponibile oppure se la larghezza di banda della connettività da sito a sito è limitata, provare a usare il Servizio Migrazione del database di Azure in modalità ibrida (anteprima). Con la modalità ibrida si usa un ruolo di lavoro della migrazione locale unitamente a un'istanza del Servizio Migrazione del database di Azure in esecuzione nel cloud. Per creare un'istanza del Servizio Migrazione del database di Azure in modalità ibrida, vedere l'articolo Creare un'istanza del Servizio Migrazione del database di Azure in modalità ibrida con il portale di Azure.

    Importante

    Per quanto riguarda l'account di archiviazione usato come parte della migrazione, è necessario effettuare una delle operazioni seguenti:

    • Scegliere di consentire a tutta la rete di accedere all'account di archiviazione.
    • Attivare la delega della subnet nella subnet di Istanza gestita e aggiornare le regole del firewall dell'account di archiviazione in modo da consentire tale subnet.
    • Non è possibile usare un account Archiviazione di Azure con un endpoint privato con Servizio Migrazione del database di Azure.
  • Assicurarsi che le regole del gruppo di sicurezza di rete della rete virtuale non blocchino la porta in uscita 443 di ServiceTag per ServiceBus, Archiviazione e AzureMonitor. Per informazioni dettagliate sul filtro del traffico dei gruppi di sicurezza di rete della rete virtuale di Azure, vedere l'articolo Filtrare il traffico di rete con gruppi di sicurezza di rete.

  • Configurare Windows Firewall per l'accesso al motore del database di origine.

  • Aprire Windows Firewall per consentire a Servizio Migrazione del database di Azure di accedere all'istanza di origine di SQL Server, che per impostazione predefinita è tramite la porta TCM 1433. Se l'istanza predefinita è in ascolto su un'altra porta, aggiungerla al firewall.

  • Se si eseguono più istanze denominate di SQL Server tramite porte dinamiche, è consigliabile abilitare il servizio SQL Browser e consentire l'accesso alla porta UDP 1434 attraverso i firewall, in modo che Servizio Migrazione del database di Azure possa connettersi a un'istanza denominata nel server di origine.

  • Se si usa un'appliance firewall davanti ai database di origine, potrebbe essere necessario aggiungere regole del firewall per consentire Servizio Migrazione del database di Azure di accedere ai database di origine per la migrazione e i file tramite la porta SMB 445.

  • Creare un'istanza di Istanza gestita di SQL seguendo le istruzioni dettagliate riportate nell'articolo Creare un'istanza di Istanza gestita di SQL nel portale di Azure.

  • Assicurarsi che gli account di accesso usati per la connessione all'istanza di SQL Server di origine e all'istanza di destinazione di Istanza gestita di SQL siano membri del ruolo del server sysadmin.

  • Specificare una condivisione di rete SMB contenente tutti i file del backup completo del database e i successivi file di backup del log delle transazioni, che possono essere usati da Servizio Migrazione del database di Azure per la migrazione del database.

  • Verificare che l'account del servizio che esegue l'istanza di SQL Server abbia privilegi di scrittura sulla condivisione di rete creata e che l'account computer del server di origine abbia accesso in lettura/scrittura alla stessa condivisione.

  • Prendere nota di un utente (e una password) di Windows con privilegi di controllo completo sulla condivisione di rete creata in precedenza. Servizio Migrazione del database di Azure rappresenta le credenziali dell'utente necessarie per caricare i file di backup nel contenitore di archiviazione di Azure per l'operazione di ripristino.

  • Creare un ID applicazione Microsoft Entra che genera la chiave ID applicazione che Servizio Migrazione del database di Azure può usare per connettersi all'Istanza gestita di SQL di Azure di destinazione e al contenitore Archiviazione di Azure. Per altre informazioni, vedere l'articolo Usare il portale per creare un'applicazione Microsoft Entra e un'entità servizio in grado di accedere alle risorse.

    Nota

    L'ID applicazione usato dal Servizio Migrazione del database di Azure supporta l'autenticazione privata (basata su password) per le entità servizio. Non supporta l'autenticazione basata su certificato.

    Nota

    Servizio Migrazione del database di Azure richiede l'autorizzazione di collaboratore nella sottoscrizione per l'ID applicazione specificato. In alternativa, è possibile creare ruoli personalizzati che concedono le autorizzazioni specifiche richieste da Servizio Migrazione del database di Azure. Per istruzioni dettagliate sull'uso dei ruoli personalizzati, vedere l'articolo Ruoli personalizzati per migrazioni online da SQL Server a Istanza gestita di SQL.

  • Creare o annotare un account di archiviazione di Azure con livello di prestazioni Standard che possa essere usato da Servizio Migrazione del database per caricare i file di backup di database e per la migrazione di database. Assicurarsi di creare l'account di archiviazione di Azure nella stessa area in cui viene creata l'istanza di Servizio Migrazione del database di Azure.

    Nota

    Quando si esegue la migrazione online di un database protetto da Transparent Data Encryption a un'istanza gestita, è necessario eseguire la migrazione del certificato corrispondente dall'istanza di SQL Server locale o della macchina virtuale di Azure prima del ripristino del database. Per i dettagli, vedere Eseguire la migrazione del certificato TDE a un'istanza gestita.

Registrare il provider di risorse

Prima di creare la prima istanza del servizio Migrazione del database, registrare il provider di risorse Microsoft.DataMigration.

  1. Accedere al portale di Azure. Cerca e seleziona Sottoscrizioni.

    Show portal subscriptions

  2. Selezionare la sottoscrizione in cui si vuole creare l'istanza del Servizio Migrazione del database di Azure e quindi selezionare Provider di risorse.

    Show resource providers

  3. Cercare migration e quindi selezionare Registra per Microsoft.DataMigration.

    Register resource provider

Creare un'istanza del Servizio Migrazione del database di Azure

  1. Nel menu del portale di Azure o dalla pagina Home selezionare Crea una risorsa. Cercare e selezionare Servizio Migrazione del database di Azure.

    Azure Marketplace

  2. Nella schermata Servizio Migrazione del database di Azure selezionare Crea.

    Create Azure Database Migration Service instance

    Selezionare il tipo di server di origine e il tipo di server di destinazione appropriati e scegliere l'opzione Servizio Migrazione del database (versione classica).

    Select Database Migration Service (Classic) scenario

  3. Nella schermata Informazioni di base di Crea servizio Migrazione:

    • Selezionare la sottoscrizione.
    • Creare un nuovo gruppo di risorse o sceglierne uno esistente.
    • Specificare un nome per l'istanza del Servizio Migrazione del database di Azure.
    • Selezionare la località in cui si vuole creare l'istanza del Servizio Migrazione del database di Azure.
    • Scegliere Azure come modalità del servizio.
    • Selezionare un piano tariffario. Per altre informazioni sui costi e i piani tariffari, vedere la pagina relativa ai prezzi.

    Configure Azure Database Migration Service instance basics settings

    • Al termine, selezionare Avanti: Rete.
  4. Nella schermata Rete di Crea servizio Migrazione:

    • Selezionare una rete virtuale esistente o crearne una nuova. La rete virtuale fornisce Servizio Migrazione del database di Azure l'accesso al server di origine e all'istanza di destinazione. Per altre informazioni su come creare una rete virtuale nel portale di Azure, vedere l'articolo Creare una rete virtuale con il portale di Azure.

    Configure Azure Database Migration Service instance networking settings

    • Selezionare Rivedi e crea per esaminare i dettagli e quindi selezionare Crea per creare il servizio.

    • Dopo alcuni istanti, l'istanza del servizio Migrazione del database di Azure viene creata e pronta per l'uso:

    Migration service created

Creare un progetto di migrazione

Dopo aver creato un'istanza del servizio, individuarlo nel portale di Azure, aprirlo e creare un nuovo progetto di migrazione.

  1. Nel menu del portale di Azure selezionare Tutti i servizi. Cercare e selezionare Servizi Migrazione del database di Azure.

    Locate all instances of Azure Database Migration Service

  2. Nella schermata Servizi Migrazione del database di Azure selezionare l'istanza del Servizio Migrazione del database di Azure creata.

  3. Selezionare Nuovo progetto di migrazione.

    Locate your instance of Azure Database Migration Service

  4. Nella schermata Nuovo progetto di migrazione specificare un nome per il progetto e quindi selezionare SQL Server nella casella di testo Tipo del server di origine, Istanza gestita di database SQL di Azure nella casella di testo Tipo del server di destinazione e Migrazione dei dati online per Scegli il tipo di attività.

    Create Database Migration Service Project

  5. Selezionare Crea ed esegui attività per creare il progetto ed eseguire l'attività di migrazione.

Specificare i dettagli dell'origine

  1. Nella schermata Seleziona origine specificare i dettagli di connessione per l'istanza di SQL Server di origine.

    Accertarsi di usare un nome di dominio completo (FQDN) per il nome dell'istanza di SQL Server di origine. Nelle situazioni in cui la risoluzione del nome DNS non è possibile, si può usare l'indirizzo IP.

  2. Se nel server non è installato un certificato attendibile, selezionare la casella di controllo Considera attendibile certificato server.

    Quando non è installato un certificato attendibile, SQL Server genera un certificato autofirmato all'avvio dell'istanza. Questo certificato viene usato per crittografare le credenziali per le connessioni client.

    Attenzione

    Le connessioni TLS crittografate con un certificato autofirmato non offrono sicurezza avanzata. Sono infatti suscettibili ad attacchi man-in-the-middle. Non è consigliabile affidarsi a TLS usando certificati autofirmati in un ambiente di produzione o in server connessi a Internet.

    Source Details

  3. Selezionare Avanti: Selezionare la destinazione

Specificare i dettagli della destinazione

  1. Nella schermata Seleziona destinazione specificare l'IDapplicazione e la chiave che l'istanza del Servizio Migrazione del database può usare per connettersi all'istanza di destinazione di Istanza gestita di SQL e all'account Archiviazione di Azure.

    Per altre informazioni, vedere l'articolo Usare il portale per creare un'applicazione Microsoft Entra e un'entità servizio in grado di accedere alle risorse.

  2. Selezionare la sottoscrizione contenente l'istanza di destinazione di Istanza gestita di SQL e quindi scegliere l'istanza gestita di SQL di destinazione.

    Se non si è ancora effettuato il provisioning di Istanza gestita di SQL, selezionare il collegamento fornito a tale scopo. Quando l'istanza di Istanza gestita di SQL è pronta, tornare a questo progetto specifico per eseguire la migrazione.

  3. Specificare i valori di Utente SQL e Password per la connessione a Istanza gestita di SQL.

    Select Target

  4. Selezionare Avanti: Seleziona database.

Specificare i database di origine

  1. Nella schermata Seleziona database selezionare i database di origine di cui si vuole eseguire la migrazione.

Select Source Databases

Importante

Se si usa SQL Server Integration Services (SSIS), Servizio Migrazione del database non supporta attualmente la migrazione del database di catalogo per i progetti/pacchetti SSIS (SSISDB) da SQL Server a Istanza gestita di SQL. È tuttavia possibile effettuare il provisioning di SSIS in Azure Data Factory (ADF) e ridistribuire i progetti/pacchetti SSIS nel database SSISDB di destinazione ospitato da Istanza gestita di SQL. Per altre informazioni sulla migrazione dei pacchetti SSIS, vedere l'articolo Eseguire la migrazione di pacchetti SQL Server Integration Services in Azure.

  1. Selezionare Avanti: Configurare le impostazioni di migrazione.

Configurare le impostazioni di migrazione

  1. Nella schermata Configura le impostazioni di migrazione specificare i dettagli seguenti:

    Parametro Descrizione
    Condivisione del percorso di rete SMB Condivisione di rete SMB locale o condivisione file di Azure che contiene i file di backup completi del database e i file di backup del log delle transazioni che Servizio Migrazione del database di Azure possono usare per la migrazione. L'account del servizio che esegue l'istanza di SQL Server di origine deve avere privilegi di lettura/scrittura per questa condivisione di rete. Specificare un FQDN o indirizzi IP del server nella condivisione di rete, ad esempio '\\servername.domainname.com\\backupfolder' o '\\IP address\backupfolder'. Per migliorare le prestazioni, è consigliabile usare una cartella separata per ogni database di cui eseguire la migrazione. Per specificare il percorso di condivisione file a livello di database, usare l'opzione Impostazioni avanzate. Se si verificano problemi di connessione alla condivisione SMB, vedere Condivisione SMB.
    Nome utente Verificare che l'utente di Windows abbia i privilegi di controllo completo sulla condivisione di rete fornita in precedenza. Servizio Migrazione del database di Azure rappresenta le credenziali dell'utente necessarie per caricare i file di backup nel contenitore di archiviazione di Azure per l'operazione di ripristino. Se si usa condivisione file di Azure, usare il nome dell'account di archiviazione anteporto ad AZURE\ come nome utente.
    Password Password per l'utente. Se si usa la condivisione file di Azure, usare una chiave dell'account di archiviazione come password.
    Sottoscrizione dell'account di archiviazione di Azure Selezionare la sottoscrizione contenente l'account di archiviazione di Azure.
    Account di archiviazione di Azure Selezionare l'account di archiviazione di Azure in cui Servizio Migrazione del database potrà caricare i file di backup dalla condivisione di rete SMB e che potrà essere usato per la migrazione del database. Per prestazioni di caricamento file ottimali, è consigliabile selezionare un account di archiviazione nella stessa area dell'istanza di Servizio Migrazione del database.

    Configure Migration Settings

    Nota

    Se Servizio Migrazione del database di Azure visualizza l'errore 'Errore di sistema 53' o 'Errore di sistema 57', è possibile che Servizio Migrazione del database di Azure non possa accedere alla condivisione file di Azure. Se si verifica uno di questi errori, concedere l'accesso all'account di archiviazione dalla rete virtuale seguendo le istruzioni riportate qui.

    Importante

    Se la funzionalità di controllo del loopback è abilitata e la condivisione file e l'istanza di SQL Server di origine si trovano nello stesso computer, l'origine non riuscirà ad accedere alla condivisione file usando il nome di dominio completo. Per risolvere questo problema, disabilitare la funzionalità di controllo del loopback usando le istruzioni disponibili qui.

  2. Selezionare Avanti: Riepilogo.

Esaminare il riepilogo della migrazione

  1. Nella schermata Riepilogo , nella casella di testo Nome attività, specificare un nome per l'attività di migrazione.

  2. Esaminare e verificare i dettagli associati al progetto di migrazione.

    Migration project summary

Eseguire e monitorare la migrazione

  1. Selezionare Avvia migrazione.

  2. La finestra dell'attività di migrazione viene visualizzata per visualizzare lo stato di migrazione dei database correnti. Selezionare Aggiorna per aggiornare la visualizzazione.

    Migration activity in progress

    È possibile espandere ulteriormente le categorie di database e account di accesso per monitorare lo stato di migrazione dei rispettivi oggetti server.

    Migration activity status

Eseguire il cutover della migrazione

Al termine del ripristino del backup completo del database nell'istanza di destinazione di Istanza gestita di SQL, il database è disponibile per l'esecuzione di un cutover della migrazione.

  1. Quando si è pronti a completare la migrazione online del database, selezionare Avvia cutover.

  2. Arrestare tutto il traffico in ingresso verso i database di origine.

  3. Usare il [backup della parte finale del log], rendere disponibile il file di backup nella condivisione di rete SMB e quindi attendere il ripristino di questo backup del log delle transazioni finale.

    A questo punto, vengono visualizzate le modifiche in sospeso impostate su 0.

  4. Selezionare Conferma e quindi Applica.

    Preparing to complete cutover

    Importante

    Dopo il cutover, la disponibilità di Istanza gestita di SQL con il livello di servizio Business Critical può richiedere molto più tempo rispetto a Utilizzo generico perché è necessario eseguire il seeding di tre repliche secondarie per il gruppo di disponibilità elevata AlwaysOn. Questa durata dell'operazione dipende dalle dimensioni dei dati. Per altre informazioni, vedere Durata delle operazioni di gestione.

  5. Quando lo stato di migrazione del database è Completato, connettere le applicazioni alla nuova istanza di destinazione di Istanza gestita di SQL.

    Cutover complete

Risorse aggiuntive