To oczywiście bardzo szerokie pytanie, ale postaram się podać kilka sugestii, jak do niego podejść:
-
Pierwszym celem jest napisanie kilku skryptów (procedur składowanych), które testują bazę danych 2005. Uruchom wszystkie istniejące sproce, zlicz rekordy w tabelach, indeksy list itp. Robisz to, aby móc je uruchamiać w roku 2005, a następnie w latach 2008/2012 po zakończeniu migracji. Pomoże Ci to udowodnić schemat i dane przeszły pomyślnie.
-
Wykonaj kopię zapasową bazy danych z 2005 r. i przywróć ją w latach 2008/2012. Możesz to zrobić równolegle do kroku 1, jeśli chcesz. Po prostu zacznij go używać. Czy wszystko zostało zaimportowane? Czy przechodzi test wzroku? Jakieś błędy, którymi musisz się zająć?
-
Po kroku 2 wykonaj kopię bieżącego kodu platformy .NET 2.0 i wskaż nową instancję z kroku 2. Czy aplikacja działa? Znowu, czy przechodzi test wzroku?
-
Iteruj z kopią aplikacji i nową bazą danych, aż poczujesz się pewnie. Jeśli masz zestaw testów dla swojej bazy kodu, oczywiście pomoże ci to udowodnić, że wszystko jest w porządku, zamiast korzystać z intuicji.
Jeśli chodzi o przejście z .NET 2.0 do .NET 4.0/4.5...
-
Baza kodu powinna być kompatybilna wstecz. Jedyny problem, jaki mogłem zobaczyć, to to, czy inne systemy zależą od twojej bazy kodu. Jeśli masz podstawową bibliotekę i chcesz ją uaktualnić do wersji 4.0 – a inny system, który wciąż jest w wersji 2.0, potrzebuje tej biblioteki, masz kłopoty.
-
Zdecydowanie poczekałbym z aktualizacją wersji .NET do po zakończysz migrację bazy danych. Jeśli coś pójdzie nie tak podczas migracji, chcesz wiedzieć, że to nie jest .NET. Pomoże Ci to zawęzić błędy i problemy.
Po wykonaniu wielu migracji, takich jak ta, kilka ogólnych porad:
-
Zapraszam do tworzenia nowych instancji/systemów i testowania, testowania, testowania. Nie próbuj pracować bezpośrednio z istniejącym kodem w kontroli źródła ani pracować z istniejącymi wdrożeniami/serwerami. Po prostu skopiuj i przetestuj.
-
Napisz narzędzia i skrypty, które pomogą Ci zautomatyzować testy systemu. Chcesz wiedzieć „Tak, o ile wiem, schemat przeszedł dokładnie tak samo”.
-
Nie rób zbyt długich iteracji. Iteruj na małe sposoby, a następnie udowodnij, że zadziałało, a następnie przejdź dalej.
Mam nadzieję, że to pomoże.