Това, разбира се, е много широк въпрос, но ще се опитам да дам някои предложения как бих подходил към него:
-
Първата цел е да напишете някои скриптове (съхранени процедури), които тестват вашата база данни 2005. Стартирайте всичките си съществуващи процедури, пребройте записите в таблици, списъци с индекси и т.н. Правите това, за да можете да ги стартирате през 2005 г. и след това през 2008/2012 г., след като приключите с мигрирането. Ще ви помогне да докажете схемата и данните преминаха успешно.
-
Направете резервно копие на базата данни 2005 и я възстановете през 2008/2012. Можете да направите това успоредно със стъпка 1, ако желаете. Просто започнете да го използвате. Всичко импортирано ли е наред? Издържа ли очен тест? Някакви грешки, които трябва да коригирате?
-
След стъпка 2 продължете и направете копие на текущия си .NET 2.0 код и го насочете към новия екземпляр от стъпка 2. Приложението работи ли? Отново, преминава ли очен тест?
-
Повторете с копието на приложението и новата база данни, докато се почувствате уверени. Ако имате тестов пакет за вашата кодова база, това очевидно ще ви помогне да докажете, че нещата са наред, вместо да използвате интуицията си.
Що се отнася до преминаването от .NET 2.0 към .NET 4.0/4.5 ...
-
Кодовата база трябва да е обратно съвместима. Единственият проблем, който виждам, е дали други системи зависят от вашата кодова база. Ако имате основна библиотека и искате да я надстроите до 4.0 - и друга система, която все още е на 2.0, се нуждае от тази библиотека, тогава имате проблеми.
-
Определено бих изчакал да надстроя .NET версията до след завършите миграцията на базата данни. Ако нещата се объркат по време на мигрирането, искате да знаете, че не е .NET. Ще ви помогне да стесните грешките и проблемите.
След като направихте много миграции като тази, някои общи съвети:
-
Чувствайте се свободни да правите нови инстанции/системи и да тествате, тествате, тествате. Не се опитвайте да работите директно със съществуващ код в контрола на източника или работете със съществуващи внедрявания/сървъри. Просто го копирайте и тествайте.
-
Напишете инструменти и скриптове, които ви помагат да автоматизирате системните тестове. Искате да можете да знаете „Да, доколкото знам, схемата се оказа абсолютно същата.“
-
Не правете итерациите си твърде дълги. Повторете по малки начини и след това докажете, че работи и след това продължете напред.
Надявам се, че това помага.