Esaminare le strategie e gli strumenti per le migrazioni
Nel contesto della migrazione di SQL Server, un'attenta pianificazione è essenziale per garantire una corretta migrazione. Questa pianificazione prevede che si affrontino sia gli aspetti relativi al come che al perché della migrazione.
- Comprendere il perché comporta il riconoscimento dei vantaggi dopo il completamento della migrazione.
- Il come comprende la selezione degli strumenti di migrazione appropriati e lo sviluppo di un piano di migrazione completo.
- Un elemento critico di questo processo è la valutazione del tempo di inattività che l'organizzazione è disposta a tollerare. Ridurre al minimo i tempi di inattività durante il processo di migrazione è fondamentale per mantenere l'efficienza e la continuità operativa.
In questo progetto di migrazione il team ha avviato il processo con una riunione di avvio. Il ruolo personale consiste nell’esplorare gli strumenti per la migrazione di alcuni SQL Server e fornire informazioni dettagliate sul potenziale effetto sui costi di licenza di SQL futuri. Inoltre, è necessario raggiungere un accordo sul livello accettabile di tempi di inattività. Il project manager vuole anche incorporare una fase di test, durante la quale alcuni server eseguono la migrazione per i test prima di eseguire la migrazione completa.
Informazioni sui vantaggi della migrazione
È probabile che si lavorerà con macchine virtuali nell’infrastruttura personale usando Hyper-V o altri fornitori di macchine virtuali. Di conseguenza, la migrazione a questa piattaforma non dovrebbe presentare una curva di apprendimento ripida.
L'uso di una macchina virtuale consente di avere un controllo amministrativo completo sul sistema operativo host e sull'istanza di SQL Server. È possibile configurare e gestire disponibilità elevata, ripristino di emergenza e applicazione di patch per SQL Server in modo più semplice che nei computer locali. È anche possibile configurare backup e aggiornamenti automatici per semplificare il carico amministrativo complessivo. L'esecuzione di SQL Server nella macchina virtuale di Azure supporta completamente questi componenti di SQL Server:
- Replica transazionale di SQL Server
- Gruppi di disponibilità AlwaysOn
- Integration Services
- Analysis Services
- Reporting Services
- Log shipping
SQL Server è ottimizzato per la migrazione di applicazioni SQL Server esistenti alle macchine virtuali di Azure, con un massimo di 256 TB di spazio di archiviazione supportato. Sono disponibili tutte le versioni ed edizioni di SQL Server, che offrono una compatibilità del 100% con le versioni locali di SQL Server.
Licenze
Esistono tre tipi di modello di gestione delle licenze che possono essere usati per le macchine virtuali di SQL Server ospitate in Azure. Valutare il modello più appropriato per lo scenario di migrazione.
Il modello con pagamento in base al consumo implica che il costo al secondo associato all'esecuzione della macchina virtuale di Azure include il costo della licenza di SQL Server.
Il modello Bring Your Own License (BYOL) è noto anche come Vantaggio Azure Hybrid e consente di usare la propria licenza di SQL Server con una macchina virtuale che esegue SQL Server, pagando solo l'utilizzo della VM. Questa opzione è disponibile solo per i clienti con contratto Enterprise.
Il modello di licenza con disponibilità elevata/ripristino di emergenza viene usato per la replica gratuita di disponibilità elevata/ripristino di emergenza in Azure. Se si ha Software Assurance, è possibile implementare piani di ripristino di emergenza ibridi con SQL Server senza sostenere costi di licenza aggiuntivi per l'istanza di ripristino di emergenza passiva.
Suggerimento
Per informazioni su come modificare il modello di licenza per una macchina virtuale SQL in Azure, vedere Modificare il modello di licenza per una macchina virtuale SQL in Azure.
Rete
Se si esegue il provisioning di una macchina virtuale di SQL Server nel portale di Azure, è possibile specificare il tipo di connettività SQL, che include:
- Pubblico: connettersi a SQL Server tramite Internet.
- Privato: connettersi a SQL Server nella stessa rete virtuale.
- Locale: connettersi a SQL Server in locale sulla stessa macchina virtuale.
Per connettersi al motore di database di SQL Server da Internet, selezionare Pubblico. Il portale esegue automaticamente la procedura seguente:
- Abilita il protocollo TCP/IP per SQL Server.
- Configura una regola del firewall per l'apertura della porta TCP di SQL Server (valore predefinito 1433).
- Abilita l'autenticazione di SQL Server, necessaria per l'accesso pubblico.
- Configura il gruppo di sicurezza di rete nella VM su tutto il traffico TCP sulla porta di SQL Server.
Se nel portale si sceglie Privata in Connettività SQL, Azure configura la maggior parte delle impostazioni in modo identico rispetto a Pubblica. La differenza è l'assenza di una regola del gruppo di sicurezza di rete che consente il traffico esterno sulla porta di SQL Server (valore predefinito 1433). È possibile modificare le impostazioni di connettività per la macchina virtuale di SQL Server nel portale di Azure.
Gestione delle chiavi
SQL Server offre funzionalità di crittografia che richiedono la gestione e l'archiviazione delle chiavi crittografiche. Il servizio dell'insieme di credenziali delle chiavi di Azure (AKV) è progettato per migliorare la sicurezza e la gestione di queste chiavi in una posizione sicura e a elevata disponibilità. Il connettore SQL Server consente a SQL Server di usare queste chiavi da Azure Key Vault.
È possibile risparmiare tempo usando la funzionalità di integrazione di Azure Key Vault. Quando questa funzionalità è abilitata, installa automaticamente il Connettore SQL Server. La funzionalità configura quindi il provider EKM (Extensible Key Management) per accedere ad Azure Key Vault e crea le credenziali per consentire l'accesso all'insieme di credenziali.
Dimensionamento delle macchine virtuali
Per iniziare, è possibile scegliere un'immagine di macchina virtuale di SQL Server con la versione, l'edizione e il sistema operativo richiesti. È inoltre possibile configurare il numero di CPU e la memoria in base alle dimensioni appropriate per i carichi di lavoro.
Molte delle opzioni di ottimizzazione delle prestazioni del database usate per garantire la corretta esecuzione di SQL Server per i carichi di lavoro locali sono valide anche per SQL Server in esecuzione in una macchina virtuale di Azure. È necessario tenere presenti altre considerazioni, tra cui le dimensioni della macchina virtuale e la configurazione dei dischi. Usare l'elenco di controllo seguente come guida per assicurarsi di avere configurato le prestazioni ottimali per SQL Server in esecuzione in una macchina virtuale di Azure.
Misurazione delle prestazioni | Opzione di ottimizzazione |
---|---|
Macchina virtuale |
|
Storage |
|
Disks |
|
I/O |
|
È possibile che si desideri applicare impostazioni specifiche relative alle prestazioni per il carico di lavoro. Assicurarsi che le impostazioni vengano testate in un ambiente di test prima della migrazione.
Strumenti e funzionalità per supportare la migrazione
Esistono diversi modi per eseguire la migrazione di SQL Server a una macchina virtuale di Azure. Il primo passaggio del processo consiste nell'eseguire il provisioning di una macchina virtuale di Azure in cui è installato SQL Server.
Per ottenere le migliori prestazioni di trasferimento dei dati, è possibile eseguire la migrazione dei file di database alla macchina virtuale di Azure usando un file di backup compresso.
Per ridurre al minimo i tempi di inattività durante il processo di migrazione del database, usare l'opzione Always On o la replica transazionale. Se non è possibile usare uno dei metodi descritti in precedenza, è comunque possibile eseguire manualmente la migrazione del database.
Questi sono gli strumenti e le funzionalità principali per supportare ed eseguire la migrazione dei database di SQL Server a SQL Server in esecuzione in una macchina virtuale di Azure.
Estensione Migrazione di Azure SQL per Azure Data Studio: l'estensione Migrazione di Azure SQL è basata sulla versione più recente di Servizio Migrazione del database e consente di valutare l'idoneità alla migrazione, fornendo raccomandazioni appropriate relative allo SKU per le risorse di Azure e facilitando la migrazione del database di SQL Server in Azure; è inoltre ideale per database di piccole e medie dimensioni. È basata sulla versione più recente del Servizio Migrazione del database e offre anche una funzionalità di valutazione avanzata per i database di SQL Server pronti per la migrazione ad Azure SQL.
Backup e ripristino con Archiviazione BLOB di Azure: è possibile ripristinare un database da Archiviazione BLOB di Azure nell'istanza di SQL Server in esecuzione in una macchina virtuale di Azure.
Scollegamento e collegamento da un URL: è possibile scollegare il database e i file di log e trasferirli in un account di Archiviazione di Azure. Quindi, collegare il database dall'URL del BLOB nella macchina virtuale di Azure.
Log shipping: il log shipping è un metodo per eseguire la migrazione di un database di SQL Server a una macchina virtuale di Azure. Comporta la sincronizzazione continua di una copia secondaria del database nel server di destinazione usando i backup del log delle transazioni dal server di origine. Quando si è pronti, il backup del log finale viene applicato alla macchina virtuale di Azure, consentendo una migrazione senza problemi con tempi di inattività minimi.
Azure Migrate: Azure Migrate è un servizio di migrazione completo che supporta un'ampia gamma di scenari di migrazione, tra cui la migrazione di SQL Server. Azure Migrate offre una suite di strumenti progettati per la valutazione e la migrazione di server locali, infrastruttura, applicazioni e dati su larga scala, allo scopo di eseguirne la migrazione ad Azure.
Database Experimentation Assistant (DEA): usare questa soluzione per valutare se il server di destinazione è in grado di gestire il carico di lavoro in caso di dubbi sulle prestazioni. È possibile usare le metriche di analisi per fornire dati di confronto e consentire di decidere se la versione di destinazione offrirà un'esperienza migliore dopo la migrazione.
Data Migration Assistant (DMA): usarlo per eseguire la migrazione di schemi di database, dati, utenti, ruoli del server, accessi di SQL Server e Windows da un’istanza locale di SQL Server a SQL Server in una macchina virtuale di Azure. Lo strumento esegue prima una valutazione che richiede di risolvere eventuali problemi di compatibilità. È quindi possibile usare lo stesso strumento per eseguire la migrazione dello schema e dei dati del database valutato in Azure.
Nota
Anche se Database Migration Assistant è uno strumento utile disponibile, è consigliabile usare il Servizio Migrazione del database di Azure per migrazioni di grandi dimensioni e un'esperienza complessiva migliorata.
Suggerimento
Per informazioni su come valutare le istanze di SQL Server locali di cui eseguire la migrazione ad Azure SQL e come individuare nuove funzionalità nella piattaforma di SQL Server di destinazione di cui il database può beneficiare dopo un aggiornamento, vedere il modulo Valutare i database di SQL Server per la migrazione ad Azure SQL.
Definire l'approccio alla migrazione
È importante considerare i requisiti aziendali in termini di tempo di inattività legato alla migrazione. Se si esegue la migrazione a SQL Server in una macchina virtuale o a un database SQL di Azure.
Il metodo scelto per eseguire la migrazione del database dipende in genere dal tempo in cui i database di SQL Server possono essere offline. Un altro fattore della decisione potrebbe essere la parte di processo che si vuole automatizzare, anziché eseguire la migrazione manualmente. Sono disponibili tre tipi di migrazioni in base ai tempi di inattività:
- Migrazione senza tempi di inattività
- Migrazione con finestra di manutenzione ridotta
- Migrazione con finestra di manutenzione ampia
Migrazione senza tempi di inattività
I carichi di lavoro cruciali richiedono in genere migrazioni senza tempi di inattività. È possibile usare i gruppi di disponibilità Always On per replicare i dati da un database di SQL Server a SQL Server nella macchina virtuale di Azure.
Migrazione con finestra di manutenzione ridotta
Le finestre di manutenzione ridotte vengono spesso misurate in minuti. Usare Servizio Migrazione del database di Azure per replicare i dati ed eseguirne la migrazione da un database di SQL Server locale a un'istanza di SQL Server in esecuzione in una macchina virtuale di Azure.
Nota
Per eseguire la migrazione di un'intera applicazione, è consigliabile usare Azure Site Recovery.
Migrazione con finestra di manutenzione ampia
Le finestre di manutenzione ampie vengono spesso misurate in ore o giorni e sono adatte per i database dell'applicazione che cambiano raramente o in cui il carico di lavoro non è cruciale per l'azienda. Sono disponibili diverse opzioni, dall'uso di file BACPAC di importazione ed esportazione di SQL Server Management Studio all'uso di un approccio di backup e ripristino, allo scollegamento e successivo collegamento del database.