MS SQL 2000 -> MS SQL2005 마이그레이션
MSSQL 2005에서 지원하는 Row_number()를 2000(8.0)에서는 지원하지 않아서 페이징하는게 무척 귀찮은데, 이번에 마이그레이션이 필요해서 Full Backup을 받고 Restore하는데 자꾸 에러가 발생.
이유를 찾아보니 보통의 파일백업/복구 로는 복구가 되지 않는단다.. 테이블만 있는거라면 데이터 복사로 해버려도 될거 같은데 수십개의 StoredProcedure가 있는 관계로...
가장 쉬운 방법은 2000에서 마이그레이션 하려는 DB를 Detach한다음에 2005에서 Attach하면 문제없이 복원된다. 이때, 까먹지 말아야 할것은 Attach후에 속성에서 8.0으로 잡혀있는 부분을 2005(9.0)으로 해줄것.
이 경우는 기존의 2000에서 DB가 사라져버리기 때문에 서비스중인 경우에는 복사본 DB를 만들어서 Deatch/Attach하는게 낫다.
다른 방법으로는 Management Studio등에서 테이블 Scheme나 SP를 전부 SQL Text로 뽑아낼수 있는데 그걸로 2005에서 DB구조를만든다음에 2000의 데이터를 Import 해도 된다.
이경우 2000전용의 구문이나 키워드가 있을 경우에 복사가 되지 않는 경우가 있으니 [주의]
Tags:MSSQL Migration SQL2000 SQL2005