Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Impatto sull'applicazione nella migrazione da SQL Server 2005 a 2008

Questa è una domanda molto ampia ovviamente, ma cercherò di dare alcuni suggerimenti su come affrontarla:

  1. Il primo obiettivo è scrivere alcuni script (procedure memorizzate) per testare il database del 2005. Esegui tutti i tuoi sprocs esistenti, conta i record nelle tabelle, elenca gli indici, ecc. Puoi farlo in modo da poterli eseguire nel 2005 e poi nel 2008/2012 dopo aver terminato la migrazione. Ti aiuterà a dimostrare lo schema e i dati sono stati superati correttamente.

  2. Eseguire un backup del database del 2005 e ripristinarlo nel 2008/2012. Puoi farlo parallelamente al passaggio 1, se lo desideri. Inizia semplicemente a usarlo. È stato importato tutto bene? Supera il test della vista? Qualche errore da correggere?

  3. Dopo il passaggio 2, vai avanti e crea una copia del codice .NET 2.0 corrente e puntalo alla nuova istanza dal passaggio 2. L'applicazione funziona? Ancora una volta, supera il test della vista?

  4. Esegui l'iterazione con la copia dell'applicazione e il nuovo database finché non ti senti sicuro. Se hai una suite di test per la tua base di codice, ovviamente, questo ti aiuterà a dimostrare che le cose vanno bene piuttosto che usare il tuo intuito.

Per quanto riguarda il passaggio da .NET 2.0 a .NET 4.0/4.5 ...

  1. La base di codice dovrebbe essere compatibile con le versioni precedenti. L'unico problema che potrei vedere è se altri sistemi dipendono dalla tua base di codice. Se hai una libreria principale e vuoi aggiornarla alla 4.0 e un altro sistema che è ancora su 2.0 ha bisogno di quella libreria, allora sei nei guai.

  2. Aspetterei sicuramente di aggiornare la versione .NET fino a dopo si termina la migrazione del database. Se le cose vanno male durante la migrazione, vuoi sapere che non è .NET. Ti aiuterà a limitare bug e problemi.

Dopo aver fatto tante migrazioni come questa qualche consiglio generale:

  1. Sentiti libero di creare nuove istanze/sistemi e testare, testare, testare. Non provare a lavorare direttamente con il codice esistente nel controllo del codice sorgente o a lavorare con distribuzioni/server esistenti. Copialo e provalo.

  2. Scrivi strumenti e script che ti aiutino ad automatizzare i test di sistema. Vuoi essere in grado di sapere "Sì, per quanto ne so, lo schema è esattamente lo stesso".

  3. Non rendere le tue iterazioni troppo lunghe. Iterare in piccoli modi e poi dimostrare che ha funzionato e poi andare avanti.

Spero di esserti stato d'aiuto.