출처 : http://blog.naver.com/jicany/140053698688

데이터를 SQL Server 2008로 이동시키는 방법에 대해 적어보겠습니다.

 

SQL Server 2000 에서 SQL Server 2008 로 이동이 가능하므로

SQL Server 2005 에서 SQL Server 2008 로 이동도 가능하겠죠? ^^(

 

 

 목차

   데이터 이동방법

[1/2] SQL Server 2000 (2005) 에서 SQL Server 2008 로 데이터 이동

        1. [마법사] 풀백업파일로 이동시키는 방법

        2. [마법사] MDF,LDF 파일을 직접 이동시키는 방법

 

[2/2] SQL Server 2000 (2005) 에서 SQL Server 2008 로 데이터 이동

        3. [스크립트] 풀백업파일로 이동시키는 방법

        4. [스크립트] MDF,LDF 파일을 직접 이동시키는 방법

 

 

1. [마법사] 풀백업파일로 이동 시키는 방법

 

     1) SQL Server 2000 에서 데이터베이스를 풀백업한다.

        (KSD 란 이름의 데이터베이스를 백업하였다.)

 

     2) 백업한 파일을 SQL Server 2008 로 이동시킨다.

        (C:\KSD.bak 에 위치시켰다.)

 

     3) SQL Server 2008 에서 리스토어 한다.

          A) 데이터베이스 -> 오른쪽마우스 클릭 후 메뉴중 "데이터베이스 복원(R)" 선택

 

B) 데이터베이스 복원 화면의 "일반" 텝

     a. 복원할 데이터베이스 이름을 입력한다 (KSD)

     b. "장치(D)" 를 선택하고 백업된 파일이 위치된 곳을 선택한다.

     c. 복원에 사용할 백업세트를 선택한다 (check box 선택).

     d. "옵션" 탭을 클릭한다.

 

 

C) 데이터베이스 복원 화면의 "복원" 텝

     a. 기존데이터베이스가 존재 할 경우 "기존 데이터베이스 덮어쓰기" 를 선택한다.

         (필요한 복원 옵션을 선택한다.)

     b. 데이터베이스가 복원될 위치를 입력한다.

         (데이터 파일과 로그파일의 위치를 다르게 할수도 있다.)

     c. 복구상태를 선택한다.

     d. "확인" 버튼을 눌러 복구(리스토어)를 시작한다.

 

D) 데이터베이스 복원 완료를 확인한다.

     a. "확인" 버튼을 누른다.

 

     4) 데이터베이스의 "속성"을 확인한다.

         A) 호환성 수준 확인

             KSD 데이터베이스를 선택하고 마우스 오른쪽 클릭 후 메뉴중에서 "속성"을 선택하고 "옵션" 탭을 클릭한다.

             SQL Server 2000 에서 백업된 파일을 복원 하였으므로 호환성 수준이 "SQL Server 2000(80)" 으로 되어있다.

 

             a. 데이터베이스를 SQL Server 2008과 호환되도록 하려면 

                 호환성 수준을 "SQL Server 2008(100)" 으로 변경하고 "확인" 버튼을 누른다.

 

                 * 만약 변경이 되지 않으면 다른 사람이 데이터베이스를 사용중이기 때문이므로

                   "옵션=>기타옵션 =>상태 => 엑세스 제한" 을 SINGLE_USER 로 변경 한다음 호환성을 변경하고

                   변경하고 난 다음 다시 "MULTI_USER" 로 변경하여 사용자들이 사용할 수 있도록 한다.

 

 

           b. 호환성수준 SQL Server 2008 로 변경

                  b-1. ALTER DATABASE SET SINGLE_USER를 사용하여 데이터베이스를 단일 사용자 액세스 모드로 설정합니다.
                  b-2. 데이터베이스의 호환성 수준을 변경합니다.
                  b-3. ALTER DATABASE SET MULTI_USER를 사용하여 데이터베이스를 다중 사용자 액세스 모드로 설정합니다.

USE master

ALTER DATABASE KSD SET SINGLE_USER

 

ALTER DATABASE KSD

SET COMPATIBILITY_LEVEL = 100

 

ALTER DATABASE KSD SET MULTI_USER

ALTER DATABASE 데이터베이스명

SET COMPATIBILITY_LEVEL = 100

 

COMPATIBILITY_LEVEL { 80 | 90 | 100 }

데이터베이스가 호환되도록 설정할 SQL Server 버전입니다. 값은 다음 하나여야 합니다.

80 = SQL Server 2000

90 = SQL Server 2005

100 = SQL Server 2008

 

2. [마법사] MDF,LDF 파일을 직접 이동시키는 방법

 

     1) SQL Server 2000 의 서비스를 중시시킨다.

        (서비스가 실행중이면 파일을 카피 할 수 없다.)

        KSD.mdf , KSD_Log.LDF 파일을 카피하였다.

 

     2) SQL Server 2008 데이터베이스 연결 을 실행한다.

         A) SQL Server 2008 데이터베이스 mdf,ldf 파일이 위치한 곳에 파일을 카피한다.

 

B) 데이터베이스 -> 오른쪽마우스 클릭 후 메뉴중 "연결(A)" 선택.

 

 

C) 데이터베이스 연결작업.

     a. "추가" 버튼을 눌러 카피한 mdf 파일을 선택한다(KSD.mdf)

         추가 하게 되면 아래 "KSD" 데이터베이스 정보(T) 에 정보가 자동으로 입력된다.

     b. "확인" 버튼을 눌러 KSD 데이터베이스를 연결한다.

     c. 데이터베이스 연결이 완료된다.

 

     3) 데이터베이스의 "속성"을 확인한다.

         A) 호환성 수준 확인

             KSD 데이터베이스를 선택하고 마우스 오른쪽 클릭 후 메뉴중에서 "속성"을 선택하고 "옵션" 탭을 클릭한다.

             SQL Server 2000 에서 백업된 파일을 복원 하였으므로 호환성 수준이 "SQL Server 2000(80)" 으로 되어있다.

 

             a. 데이터베이스를 SQL Server 2008과 호환되도록 하려면 

                 호환성 수준을 "SQL Server 2008(100)" 으로 변경하고 "확인" 버튼을 누른다.

 

                 * 만약 변경이 되지 않으면 다른 사람이 데이터베이스를 사용중이기 때문이므로

                   "옵션=>기타옵션 =>상태 => 엑세스 제한" 을 SINGLE_USER 로 변경 한다음 호환성을 변경하고

                   변경하고 난 다음 다시 "MULTI_USER" 로 변경하여 사용자들이 사용할 수 있도록 한다.

+ Recent posts