Esta es una pregunta muy amplia, por supuesto, pero intentaré dar algunas sugerencias sobre cómo abordarla:
-
El primer objetivo es escribir algunos scripts (procedimientos almacenados) que prueben su base de datos de 2005. Ejecute todos sus sprocs existentes, cuente registros en tablas, liste índices, etc. Haga esto para poder ejecutarlos en 2005 y luego en 2008/2012 después de que haya terminado de migrar. Le ayudará a probar el esquema y los datos se recuperaron con éxito.
-
Realice una copia de seguridad de la base de datos de 2005 y restáurela en 2008/2012. Puede hacer esto en paralelo al paso 1 si lo desea. Simplemente comience a usarlo. ¿Se importó todo bien? ¿Pasa la prueba de la vista? ¿Algún error que necesite corregir?
-
Después del paso 2, continúe y haga una copia de su código .NET 2.0 actual y apúntelo a la nueva instancia del paso 2. ¿Funciona la aplicación? Una vez más, ¿pasa la prueba de la vista?
-
Repita con la copia de la aplicación y la nueva base de datos hasta que se sienta seguro. Si tiene un conjunto de pruebas para su código base, obviamente eso lo ayudará a probar que todo está bien en lugar de usar su intuición.
En cuanto a pasar de .NET 2.0 a .NET 4.0/4.5...
-
El código base debe ser compatible con versiones anteriores. El único problema que pude ver es si otros sistemas dependen de su base de código. Si tiene una biblioteca central y desea actualizarla a 4.0, y otro sistema que todavía está en 2.0 necesita esa biblioteca, entonces tiene problemas.
-
Definitivamente esperaría para actualizar la versión .NET hasta después termina la migración de la base de datos. Si algo sale mal durante la migración, querrá saber que no es .NET. Le ayudará a reducir errores y problemas.
Después de haber hecho muchas migraciones como esta, algunos consejos generales:
-
Siéntase libre de crear nuevas instancias/sistemas y probar, probar y probar. No intente trabajar directamente con el código existente en el control de código fuente ni trabaje con implementaciones/servidores existentes. Solo cópialo y prueba.
-
Escriba herramientas y scripts que lo ayuden a automatizar las pruebas del sistema. Desea poder saber "Sí, hasta donde yo sé, el esquema resultó exactamente igual".
-
No haga sus iteraciones demasiado largas. Iterar en pequeñas formas y luego probar que funcionó y luego seguir adelante.
Espero que ayude.