Se utilizzi SQL Server 2008 o SQL Server 2008 R2, cosa significa 9 luglio 2019 significa per te? Con entrambe queste versioni di SQL Server che raggiungono la fine del ciclo di vita del supporto insieme, non sarai più in grado di ottenere aggiornamenti di sicurezza critici. Ciò può causare seri problemi di sicurezza e conformità alla tua organizzazione.
Quando queste versioni di SQL Server sono state rilasciate, sono state fornite con 10 anni di supporto; 5 anni di supporto Mainstream e 5 anni di supporto esteso. Se la tua organizzazione ha ancora SQL Server 2008/2008 R2 in produzione, come intende affrontare il rischio? Per le organizzazioni fortemente regolamentate, questa è una grande preoccupazione.
Devi scegliere come migrare e dove migrare, quindi assicurarti di non incontrare alcun ostacolo lungo il percorso.
Strumenti di valutazione della migrazione
Se stai pianificando un aggiornamento da SQL Server 2008/2008 R2, Microsoft ha semplificato notevolmente il test e la convalida del tuo ambiente. Esistono numerosi strumenti che possono aiutare con le valutazioni della migrazione e persino gestire le attività di migrazione, e sono tutti leggermente diversi. Questi strumenti includono:
- Assistente alla migrazione dei dati
- Toolkit Microsoft per la valutazione e la pianificazione
- Servizio di migrazione del database di Azure
- Assistente per la sperimentazione del database
Data Migration Assistant ti aiuta a passare a una moderna piattaforma dati. A tale scopo rileva i problemi di compatibilità che possono influire sulla funzionalità nella versione più recente di SQL Server e fornisce suggerimenti per miglioramenti delle prestazioni e dell'affidabilità per il nuovo ambiente. L'origine può essere SQL Server 2005+ con una destinazione SQL 2012+ e Database SQL di Azure.
Microsoft Assessment and Planning Toolkit è in circolazione da molti anni e viene spesso definito strumento MAP. È ottimo per fare un inventario del tuo ambiente attuale per trovare dove esistono SQL Server (e altre applicazioni).
Il servizio Migrazione del database di Azure integra alcune delle funzionalità di strumenti e servizi esistenti per fornire ai clienti una soluzione completa per la migrazione ad Azure. Lo strumento genera rapporti di valutazione che forniscono consigli per guidare l'utente attraverso eventuali modifiche necessarie prima di eseguire una migrazione. Questo servizio attualmente richiede una VPN o un percorso espresso.
Infine, Database Experimentation Assistant è una nuova soluzione di test A/B per gli aggiornamenti di SQL Server ed è uno strumento con cui dovresti familiarizzare. Sfrutta la riproduzione distribuita per acquisire un carico di lavoro e riprodurlo su un server SQL di destinazione. Questo può essere usato per testare le modifiche hardware o le differenze di versione di SQL Server. È possibile acquisire carichi di lavoro da SQL Server 2005 e versioni successive.
Opzioni di migrazione
Aggiornamento in locale: Uno dei metodi di migrazione più semplici consiste nell'aggiornamento a una versione più recente di SQL Server. In questo caso, hai SQL Server 2012, 2014, 2016 o 2017 tra cui scegliere. Incoraggio i clienti a eseguire l'aggiornamento all'ultima versione possibile. SQL Server 2012 è già fuori dal supporto Mainstream e SQL Server 2014 uscirà dal supporto Mainstream il 9 luglio 2019. L'aggiornamento può richiedere molto tempo e denaro per le organizzazioni a causa di tutta la pianificazione e dei test coinvolti, quindi il passaggio all'ultima versione può aumentare il tempo prima del prossimo aggiornamento. Ci sono anche numerosi miglioramenti delle prestazioni e delle funzionalità in SQL Server 2016 e 2017 che rendono la migrazione a SQL Server 2012 o 2014 una scelta molto scadente in questo momento.
Un approccio comune per gli aggiornamenti locali consiste nel crearne di nuovi e migrare, indipendentemente dall'ambiente fisico o virtuale. Creando nuovi database, puoi ripristinare i tuoi database ed eseguire numerosi cicli di test e convalida per assicurarti che tutto funzioni come previsto prima di spostare la produzione.
Aggiorna e migra a una macchina virtuale di Azure: Per le organizzazioni che desiderano migrare al cloud, Azure Infrastructure as a Service (IaaS) è un'ottima opzione. L'esecuzione di SQL Server in una macchina virtuale di Azure è molto simile in locale. Specifica la dimensione della VM (numero di vCPU e memoria) e configura lo storage per i tuoi requisiti di I/O e dimensioni. L'utente è ancora responsabile del supporto del sistema operativo e di SQL Server per la configurazione e l'applicazione di patch. Azure IaaS offre la possibilità di ridimensionare facilmente i carichi di lavoro aumentando o diminuendo le dimensioni della macchina virtuale in base alle esigenze del carico di lavoro, nonché di sfruttare l'integrazione di Azure Active Directory, il rilevamento delle minacce e molti altri vantaggi di Azure.
Migrazione al database SQL di Azure: Un'altra opzione disponibile è la migrazione al database SQL di Azure. Il database SQL di Azure può essere considerato un Database as a Service e fa parte della Platform as a Service (PaaS) di Microsoft. La funzionalità del database SQL di Azure è nell'ambito del database, il che significa che alcune cose come le query tra database, SQL Server Agent, Posta elettronica database e altro non sono disponibili. Tuttavia, molti clienti che dispongono di applicazioni che utilizzano un unico database sono stati in grado di migrare al database SQL di Azure con il minimo sforzo. È possibile verificare rapidamente la compatibilità con il database SQL di Azure usando l'Assistente migrazione dati. Con il database SQL di Azure, puoi dimensionare i tuoi database in base a DTU (Database Transaction Units) o vCore singolarmente o raggruppare i database in un pool elastico. Il database SQL di Azure ti consente di aumentare e ridurre le risorse con il minimo sforzo e tempi di inattività.
Migrazione a Istanza gestita SQL di Azure: Una nuova opzione (a partire dal 2018) consiste nella migrazione a Istanza gestita SQL di Azure. Si tratta di un nuovo prodotto attualmente generalmente disponibile dal 1 ottobre per il livello per uso generico. L'istanza gestita è stata creata utilizzando il modello di programmazione a livello di istanza. Ciò significa che è supportata la funzionalità a cui siamo abituati con la versione completa di SQL Server. L'obiettivo di Istanza gestita è avere una compatibilità della superficie del 100% con l'ambiente locale. Tutti i database nell'istanza si trovano sullo stesso server, quindi sono supportate le query tra database, così come Posta elettronica database, SQL Server Agent, Service Broker e molto altro. Ci sono due livelli di prezzo; General Purpose, che include un secondario non leggibile per HA e Business Critical, che ha due secondari non leggibili e un secondario leggibile. Istanza gestita fa parte dell'offerta PaaS di Microsoft, quindi ottieni tutte le funzionalità e le funzionalità integrate di PaaS.
Sposta così com'è in Macchine virtuali di Azure: Microsoft offre tre anni di aggiornamenti della sicurezza estesa senza costi aggiuntivi se si spostano le istanze SQL 2008/SQL 2008 R2 in una macchina virtuale di Azure. L'obiettivo è darti un po' più di tempo per eseguire l'aggiornamento a una versione più recente di SQL Server quando sei pronto.
Paga per restare: Questa non è un'opzione di migrazione, ma hai la possibilità di acquistare fino a tre anni di aggiornamenti di sicurezza estesi. Ci sono restrizioni su questa opzione. È necessario disporre di Software Assurance attivo per tali istanze o di licenze in abbonamento ai sensi di un Contratto Enterprise. Se questo è il tuo caso, questa opzione può farti guadagnare più tempo per pianificare ed eseguire la migrazione da SQL Server 2008/2008 R2.
Migliori pratiche di migrazione
Quando si esegue una migrazione o un aggiornamento, è necessario essere a conoscenza di alcune cose. Innanzitutto, hai bisogno di linee di base e non posso sottolinearlo abbastanza. Ogni volta che apporti una modifica a un ambiente, devi essere in grado di misurare l'impatto di tale modifica sull'ambiente. Conoscere le metriche chiave delle prestazioni per il tuo ambiente può aiutarti nella risoluzione dei problemi di qualsiasi impatto percepito. Puoi raccogliere manualmente queste metriche utilizzando perfmon e DMV o investire in una piattaforma di monitoraggio delle prestazioni. Ho scritto di entrambe le tecniche in modo più dettagliato in un post precedente e in questo momento puoi ottenere una valutazione estesa di 45 giorni di SentryOne . Avere metriche di base per cose come l'utilizzo della CPU, il consumo di memoria, le metriche del disco e altro può farti sapere rapidamente se le cose sembrano migliori o peggiori dopo un aggiornamento o una migrazione.
Dovresti anche prendere nota delle opzioni di configurazione all'interno della tua istanza. Molte volte mi è stato chiesto di esaminare un'istanza di SQL Server dopo un aggiornamento o una migrazione e ho scoperto che la maggior parte delle impostazioni predefinite è in uso. Se il vecchio sistema è ancora disponibile, sono in grado di interrogarlo e ottenere i precedenti valori non predefiniti che erano in atto e applicarli al nuovo ambiente per riportarli a una configurazione nota. È sempre opportuno esaminare sys.configurations sul server di produzione per valutare la possibilità di apportare modifiche simili al nuovo ambiente (soglia di costo per il parallelismo, massimo grado di parallelismo, ottimizzazione per carichi di lavoro ad hoc e altro). Avviso che ho scritto "considera". Se il numero di core o la memoria sono diversi sul nuovo server, è necessario configurare le impostazioni tenendo conto delle dimensioni del nuovo server.
Qual è il tuo piano di ritiro se le cose vanno male? Hai dei backup adeguati a cui puoi tornare? Nella maggior parte dei casi, con un aggiornamento o una migrazione, si passa a una nuova macchina virtuale o server fisico. Il tuo failback potrebbe consistere nel tornare al vecchio server. Se nella nuova versione di SQL Server sono state apportate modifiche ai dati, il failback è molto più complicato. Non è possibile ripristinare un backup del database di SQL Server da una versione più recente di SQL Server a una versione precedente.
Conclusione
Se stai ancora utilizzando SQL Server 2008 o SQL Server 2008 R2, hai a disposizione alcune opzioni per mantenere la conformità dopo il 9 luglio 2019. Per rimanere su SQL Server 2008 o SQL Server 2008 R2, puoi acquistare gli aggiornamenti della sicurezza estesa oppure passa a una macchina virtuale di Azure se sei idoneo. Se è possibile eseguire l'aggiornamento, è possibile eseguire la migrazione a una versione supportata di SQL Server in locale o in una macchina virtuale di Azure oppure prendere in considerazione la migrazione a una soluzione gestita come il database SQL di Azure o l'istanza gestita SQL di Azure.