Ini tentu saja pertanyaan yang sangat luas, tetapi saya akan mencoba memberikan beberapa saran tentang bagaimana saya akan mendekatinya:
-
Tujuan pertama adalah menulis beberapa skrip (prosedur tersimpan) yang menguji database 2005 Anda. Jalankan semua sprocs Anda yang ada, hitung catatan dalam tabel, daftar indeks, dll. Anda melakukan ini agar Anda dapat menjalankannya pada tahun 2005 dan kemudian pada tahun 2008/2012 setelah Anda selesai bermigrasi. Ini akan membantu Anda membuktikan skema dan data berhasil melewatinya.
-
Buat cadangan database 2005 dan pulihkan pada 2008/2012. Anda dapat melakukan ini secara paralel dengan langkah 1 jika Anda mau. Cukup mulai menggunakannya. Apakah semuanya diimpor dengan baik? Apakah itu lulus tes mata? Adakah kesalahan yang perlu Anda atasi?
-
Setelah langkah 2, lanjutkan dan buat salinan kode .NET 2.0 Anda saat ini dan arahkan ke instance baru dari langkah 2. Apakah aplikasi berfungsi? Sekali lagi, apakah itu lulus tes mata?
-
Iterasi dengan salinan aplikasi dan database baru sampai Anda merasa percaya diri. Jika Anda memiliki rangkaian pengujian untuk basis kode Anda, itu jelas akan membantu Anda membuktikan bahwa semuanya baik-baik saja daripada menggunakan intuisi Anda.
Sejauh beralih dari .NET 2.0 ke .NET 4.0/4.5 ...
-
Basis kode harus kompatibel ke belakang. Satu-satunya masalah yang bisa saya lihat adalah jika sistem lain bergantung pada basis kode Anda. Jika Anda memiliki perpustakaan inti dan ingin memutakhirkannya ke 4.0 - dan sistem lain yang masih menggunakan 2.0 membutuhkan perpustakaan itu, maka Anda berada dalam masalah.
-
Saya pasti akan menunggu untuk meningkatkan versi .NET hingga setelah Anda menyelesaikan migrasi database. Jika terjadi kesalahan saat bermigrasi, Anda ingin mengetahui bahwa itu bukan .NET. Ini akan membantu Anda mempersempit bug dan masalah.
Setelah melakukan banyak migrasi seperti ini, beberapa saran umum:
-
Jangan ragu untuk membuat instance/sistem baru dan menguji, menguji, menguji. Jangan mencoba bekerja secara langsung dengan kode yang ada di kontrol sumber atau bekerja dengan penerapan/server yang ada. Cukup salin dan uji.
-
Tulis alat dan skrip yang membantu Anda mengotomatiskan pengujian sistem. Anda ingin dapat mengetahui "Ya, sejauh yang saya tahu, skemanya sama persis."
-
Jangan membuat iterasi Anda terlalu lama. Iterasi dengan cara-cara kecil dan kemudian buktikan itu berhasil dan kemudian lanjutkan.
Semoga membantu.