728x90

1. mssql2000에서 백업된 파일을 가지고 mssql2005서버로 온다

 예) testdb를 백업해서 백업 파일이 testdb.bak라고 하고 c:넣었다고 가정한다.


2. restore filelistonly from disk='C:test.bak'를 해서 기존 디비 설정 정보를 확인 한다.

기존 정보가 : Date :D:Microsoft SQL ServerMSSQLDatatestdb_Data.MDF

                   Log : D:Microsoft SQL ServerMSSQLDatatestdb_Log.LDF


3. restore database testdb from disk='C:testdb.bak'

with move 'testdb_Data' to 'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDatatestdb.mdf', move 'testdb_Log' to 'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDatatestdb_log.LDF'

로 실행... (여기서 경로 및 MDF, LDF는 2005에 설정되어 있는 정보에 맞게 설정해야 된다.

파일 1에서 데이터베이스 'testdb', 파일 'testdb_Data'에 대해 33528개의 페이지를 처리했습니다 .
파일 1에서 데이터베이스 'testdb', 파일 'testdb_Log'에 대해 4개의 페이지를 처리했습니다 .
데이터베이스 'testdb'을(를) 버전 539에서 현재 버전 611(으)로 변환하는 중입니다.
데이터베이스 'testdb'을(를) 버전 539에서 버전 551(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 551에서 버전 552(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 552에서 버전 553(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 553에서 버전 554(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 554에서 버전 589(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 589에서 버전 590(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 590에서 버전 593(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 593에서 버전 597(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 597에서 버전 604(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 604에서 버전 605(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 605에서 버전 606(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 606에서 버전 607(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 607에서 버전 608(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 608에서 버전 609(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 609에서 버전 610(으)로 업그레이드하는 중입니다.
데이터베이스 'testdb'을(를) 버전 610에서 버전 611(으)로 업그레이드하는 중입니다.
RESTORE DATABASE이(가) 33532개의 페이지를 836.441초 동안 처리했습니다(0.328MB/초).

이렇게 메시지가 나올것이다.


데이터베이스가 이전 버전의 SQL Server 에서 SQL Server 2005 로 업그레이드되면 데이터베이스는 기존 호환성 수준을 유지합니다.

4. sp_dbcmptlevel 'a'


현재 호환성 수준은 80입니다.


5. sp_dbcmptlevel 'a','90' -- 호환성 수준을 MSSQL2005로 바꿉니다.

 

6.  그리고 계정을 생성한다 testid라고 만들었다고 가정한다.


7. USE db명
EXEC sp_change_users_login 'Update_One', '사용자', '로그인'

예) USE testdb
EXEC sp_change_users_login 'Update_One', 'testid', 'testid'

-- 중간의 s2kuser 정보는 DB의 사용자이고, 뒤의 s2kuser는 새로 SQL 2005에서 만들어준 로그인 이름입니다.


8. test라는 디비에 olduser라는 계정으로 사용하고 있었는데

2005로 옮겨 지면서 test라는 디비에 newuser라는 계정으로 사용을 하고 싶다면
USE test; --복원한 DB명
GO
EXEC sp_change_users_login 'Update_One', 'olduser', 'newuser';

+ Recent posts