Esercitazione: Eseguire la migrazione di SQL Server a un Istanza gestita di SQL di Azure offline 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. Per altri metodi che potrebbero richiedere operazioni manuali, vedere l'articolo SQL Server per 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 usando Servizio Migrazione del database di Azure.

Si apprenderà come:

  • Registrare il provider di risorse Azure DataMigration.
  • Creare un'istanza del servizio Migrazione del database di Azure.
  • Creare un progetto di migrazione tramite il Servizio Migrazione del database di Azure.
  • Eseguire la migrazione.
  • Monitorare la migrazione.

Importante

Per le migrazioni offline da SQL Server a Istanza gestita di SQL, Servizio Migrazione del database di Azure può creare automaticamente i file di backup. In alternativa, è possibile fornire il backup completo del database più recente nella condivisione di rete SMB che il servizio userà per eseguire la migrazione dei database. Ogni backup può essere scritto in un file di backup separato o in più file di backup. Tuttavia, l'aggiunta di più backup in un singolo supporto di backup non è supportata. Si noti che è anche possibile usare backup compressi per ridurre la probabilità che si verifichino problemi con la migrazione di grandi backup.

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 offline da SQL Server a Istanza gestita di SQL. Per una migrazione online, vedere Eseguire la migrazione online di SQL Server a Istanza gestita di SQL con Servizio Migrazione del database.

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.

  • Assicurarsi che le regole del gruppo di sicurezza di 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 all'ingresso dei database di origine, può essere necessario aggiungere regole del firewall per consentire a Servizio Migrazione del database di Azure di accedere ai database di origine per la migrazione, oltre che ai file, attraverso 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.

    Nota

    Per impostazione predefinita, Servizio Migrazione del database di Azure supporta solo la migrazione di account di accesso SQL. È però possibile abilitare la migrazione degli account di accesso Windows seguendo questa procedura:

    • Verifica che il Istanza gestita di SQL di destinazione disponga dell'accesso in lettura AAD, che può essere configurato tramite il portale di Azure da un utente con il ruolo Global Amministrazione istrator.
    • Configurare l'istanza di Servizio Migrazione del database di Azure in modo da abilitare le migrazioni degli account di accesso utente/gruppo di Windows, che può essere impostato nella pagina Configurazione del portale di Azure. Dopo aver abilitato questa impostazione, riavviare il servizio per rendere effettive le modifiche.

    Dopo il riavvio del servizio, gli account di accesso utente/gruppo di Windows vengono visualizzati nell'elenco degli account di accesso disponibili per la migrazione. Per tutti gli account di accesso utente/gruppo di Windows di cui si esegue la migrazione viene richiesto di specificare il nome di dominio associato. Gli account utente del servizio (account con nome di dominio NT AUTHORITY) e gli account utente virtuali (account con nome di dominio NT SERVICE) non sono supportati.

  • Creare una condivisione di rete che può essere usata da Servizio Migrazione del database di Azure per il backup del database di origine.

  • 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 contenitore BLOB e recuperare il relativo URI di firma di accesso condiviso seguendo i passaggi descritti nell'articolo Gestire le risorse dell'archivio BLOB di Azure con Storage Explorer. Assicurarsi di selezionare tutte le autorizzazioni (lettura, scrittura, eliminazione, elenco) nella finestra dei criteri durante la creazione dell'URI di firma di accesso condiviso. Questo dettaglio consente a Servizio Migrazione del database di Azure di accedere al contenitore dell'account di archiviazione per caricare i file di backup usati per la migrazione dei database a Istanza gestita di SQL.

    Nota

    • Servizio Migrazione del database di Azure non supporta l'uso di un token di firma di accesso condiviso a livello di account quando si configurano le impostazioni dell'account di archiviazione durante il passaggio Configurare le impostazioni di migrazione.
  • Assicurarsi che sia l'indirizzo IP Servizio Migrazione del database di Azure che la subnet Istanza gestita di SQL di Azure possano comunicare con il contenitore BLOB.

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 offline 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 i dettagli di connessione per la destinazione, ovvero il Istanza gestita di SQL di cui è stato effettuato il pre-provisioning a cui si esegue la migrazione del database AdventureWorks2016.

    Se non si è ancora effettuato il provisioning di Istanza gestita di SQL, selezionare il collegamento fornito a tale scopo. È comunque possibile procedere con la creazione del progetto e quindi, quando l'istanza di Istanza gestita di SQL è pronta, tornare a questo progetto specifico per eseguire la migrazione.

    Select Target

  2. Selezionare Avanti: Seleziona database. Nella schermata Seleziona database selezionare il database AdventureWorks2016 per 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.

  3. Selezionare Avanti: Selezionare gli account di accesso

Seleziona account di accesso

  1. Nella schermata Seleziona account di accesso selezionare gli account di accesso di cui eseguire la migrazione.

    Nota

    Per impostazione predefinita, Servizio Migrazione del database di Azure supporta solo la migrazione di account di accesso SQL. Per abilitare il supporto per migrazione degli account di accesso di Windows, vedere la sezione Prerequisiti di questa esercitazione.

    Select logins

  2. 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
    Scegliere l'opzione di backup di origine Scegliere l'opzione Verranno forniti i file di backup più recenti quando sono già disponibili file di backup completo che possono essere usati da Servizio Migrazione del database per la migrazione del database. Scegliere l'opzione Consentire al Servizio Migrazione del database di Azure di creare i file di backup per fare in modo che il Servizio Migrazione del database salvi prima il backup completo del database di origine e lo usi per la migrazione.
    Condivisione del percorso di rete La condivisione di rete SMB locale in cui Servizio Migrazione del database di Azure può inserire i backup del database di origine. L'account del servizio che esegue l'istanza di SQL Server di origine deve disporre dei privilegi di scrittura in 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'.
    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 rappresenterà le credenziali utente necessarie per caricare i file di backup nel contenitore di archiviazione di Azure per l'operazione di ripristino. Se vengono selezionati per la migrazione database abilitati per TDE, l'utente di Windows precedente deve essere l'account predefinito Administrator e Controllo dell'account utente deve essere disabilitato per consentire al Servizio Migrazione del database di Azure di caricare ed eliminare i file dei certificati.
    Password Password per l'utente.
    Impostazioni account di archiviazione L'URI di firma di accesso condiviso che consente a Servizio Migrazione del database di Azure di accedere al contenitore dell'account di archiviazione in cui il servizio carica i file di backup e che viene usato per la migrazione dei database a Istanza gestita di SQL. Informazioni su come ottenere l'URI di firma di accesso condiviso per un contenitore BLOB. L'URI della firma di accesso condiviso deve essere quella del contenitore BLOB, non quella dell'account di archiviazione.
    Impostazioni TDE Se si esegue la migrazione dei database di origine con la funzionalità Transparent Data Encryption (TDE) abilitata, è necessario avere privilegi di scrittura per l'istanza di destinazione di Istanza gestita di SQL. Selezionare la sottoscrizione in cui è stato effettuato il provisioning di Istanza gestita di SQL dal menu a discesa. Selezionare l'istanza gestita di database SQL di Azure di destinazione nel menu a discesa.

    Configure Migration Settings

  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 la migrazione

  • Selezionare Avvia migrazione.

    Viene visualizzata la finestra attività di migrazione che visualizza lo stato di migrazione corrente dei database e degli account di accesso.

Monitorare la migrazione

  1. Nella schermata dell'attività di migrazione selezionare Aggiorna per aggiornare la visualizzazione.

    Screenshot that shows the migration activity screen and the Refresh button.

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

    Migration activity in progress

  3. Al termine della migrazione, verificare il database di destinazione nell'ambiente Istanza gestita di SQL.

Risorse aggiuntive