이 물론 매우 광범위한 질문이다,하지만 난 그것을 접근 할 방법으로 몇 가지 제안을하려고합니다 :
첫 번째 목표는 어떤 스크립트 (저장 프로 시저)를 작성하는 것입니다 그 2005 데이터베이스를 테스트하십시오. 기존의 모든 sprocs를 실행하고, 테이블의 레코드 수를 계산하고, 인덱스를 목록 화합니다. 이렇게하면 마이그레이션을 완료 한 후 2005 년에 실행 한 다음 2008/2012에 실행할 수 있습니다. 스키마 과이 성공적으로 끝났음을 증명하는 데 도움이됩니다.
2005 데이터베이스를 백업하고 2008/2012에 복원하십시오. 원한다면 1 단계와 병렬로이 작업을 수행 할 수 있습니다. 사용하기 만하면됩니다. 모든 것이 괜찮 았나? 눈 검사를 통과 했습니까? 해결해야 할 오류가 있습니까?
2 단계 후 현재 .NET 2.0 코드의 복사본을 만들고 2 단계의 새 인스턴스를 가리 킵니다. 응용 프로그램이 작동합니까? 다시 눈 검사를 통과합니까?
자신감을 가질 때까지 응용 프로그램 복사본과 새 데이터베이스를 반복합니다. 코드베이스에 대한 테스트 스위트가 있다면 직감을 사용하는 것보다 오히려 괜찮은지 증명하는 데 도움이 될 것입니다.
지금까지 ... .NET 4.0/4.5 .NET 2.0에서
가는대로 코드베이스는 이전 버전과 호환되어야합니다. 다른 시스템이 여러분의 코드베이스에 의존한다면 내가 볼 수있는 유일한 문제가 있습니다. 핵심 라이브러리가 있고이를 4.0으로 업그레이드하려는 경우 - 2.0에있는 다른 시스템에 해당 라이브러리가 필요하면 문제가 발생합니다.
이후에 까지 .NET 버전을 업그레이드하려면 확실히 기다려야합니다. 마이그레이션하는 중에 문제가 발생하면 .NET이 아니라는 것을 알고 싶습니다. 버그 및 문제점을 줄이는 데 도움이됩니다. 이 몇 가지 일반적인 조언처럼 많은 마이그레이션을 수행 한 후
:
새로운 인스턴스/시스템 및 테스트, 테스트, 시험을 주시기 바랍니다. 원본 컨트롤에서 기존 코드로 직접 작업하거나 기존 배포/서버에서 작업하지 마십시오. 그냥 복사하고 테스트 해.
시스템 테스트를 자동화하는 데 도움이되는 도구와 스크립트를 작성하십시오. "예, 알고있는 한 스키마가 정확히 동일하게 나타났습니다."
반복을 너무 길게 만들지 마십시오. 작은 방법으로 반복하고 그 다음에 작업을 증명하고 계속 진행하십시오.
희망이 있습니다.