2011. 1. 25. 01:28

간만에 서버포맷도하는 겸사겸사 SQL을 MSSQL2000에서 MSSQL2005로 업그레이드 하기로 마음먹고 설치했습니다.......

그러나 DB빽업할때 별생각없이 빽업파일 만들어둔거 그대로 MSSQL2005에 불러왔더니 인식을 못해서 다시 2000깔고 빽업파일 풀어서 봤더니  여러DB중 하나만 빽업되있다는 사실을 알고(어쩐지 용량이 작다했다;;;) 경악을 금치못하고 하드복구프로그램을 돌려 MSSQL2000폴더자체를 복구시키는 헤프닝이 발생했습니다-_-;

2000과 2005를 4~5번은 설치했습니다-_-;;;;

어찌됬건 복구해봅시다.
1. DB의 데이터가 들어있는 폴더는 MSSQL2000은 설치폴더안에 Data에
*_Data.MDF 과 *_Log.LDF 파일입니다.

2. 이 파일들을 빽업해두고 MSSQL2000을 지우고 MSSQL2005를 설치합니다.
안지우고 설치하면 데이터베이스엔진이 MSSQL2000(8.0)을 그대로 사용하게 됩니다.

3. SQL Server Management Studio를 실행 해보고 연결한후 데이터베이스에서 오른쪽클릭을하고 '연결'을 선택하면 '데이터베이스 연결'창이 뜨는데 MDF파일 위치를 물어봅니다.

여기서 주의할점은 MDF파일을 로드해서 자동으로 빽업하는 것이아니고 연결만 하는 것이므로 MSSQL2005에서 불러오기전에 원하는 위치에 파일을 갔다놔야 한다는 점입니다.




4. 추가를 눌러 *_Data.MDF파일을 선택합니다.
그런후 확인을 누르면 데이터베이스가 추가됩니다.

이렇게 추가하면 저장프로시저나 테이블 등은 살아남지만 권한은 복구되지 않기때문에 다시 설정해야 합니다.
(정확히말하면 권한설정이 남기는 하나 MSSQL2005에서는 권한설정하는 방식이 달라젔기때문에 바로 사용할수 없습니다.)

이 방법은 MSSQL2008에도 사용 할수 있습니다.

변화된 권한은 다음글을 참고 해주세요.
참고 : MSSQL2005의 변화된 권한 설정( http://blog.danggun.net/24 )


p.s. DB끌때는 언제나 조심조심
p.s. 스크립생성이나 여러가지 방법으로 빽업하는 방법은 조만간 정리하겠지만 이 방법보다 편한방법은 없습니다 ㅎㅎㅎ