DB (데이터베이스)/MS-SQL

[MS-SQL] ms-sql 데이터베이스 파일 이동

뜽배 2024. 1. 29. 13:18
728x90
반응형


ms-sql에서 데이터베이스 파일 이동에 대해서 알아보겠습니다.

 


ms-sql 데이터베이스 파일 이동은 아래와 같은 절차로 진행합니다.
1. 데이터파일 분리
2. 데이터파일 이동
3. 데이터파일 연결

 


1. 데이터파일 분리

 

DB마우스 우클릭 -> 테스크 -> 분리

 

 


'메시지'를 보면 현재 DB에 연결중인 session의 수를 나타냅니다.
'연결 삭제'는 현재 연결중인 session을 끊고 데이터파일을 분리한다는 뜻입니다.
'통계 업데이트'는 분리 할 때 통계정보를 업데이트를 한다는 뜻입니다. 하지만 통계 업데이트는 분리 할 때 할 필요는 없습니다.

 


2. 데이터파일 이동


방금 분리한 데이터베이스의 위치는 

mdf : C:\SQLServer\SQLData\TestDB.mdf
ldf : C:\SQLServer\SQLLog\TestDB_log.ldf

이렇게 구성되어 있었다.

이 두개의 데이터파일을 

mdf : C:\SQLServer\TestDB.mdf
ldf : TestDB.mdf\TestDB_log.ldf

 


위와 같이 옮겨준다 
* 연습할 때는 Ctrl + x -> Ctrl + v 로 했지만 실제로는 원본 파일을 남겨 놓는것을 권장한다 (Ctrl + c -> Ctrl + v)

 

 

3. 데이터파일 연결

개체탐색기 -> 데이터베이스 마우스 우클릭 -> 연결

 


이 데이터베이스 연결 창이 뜬다. 여기서 '추가'버튼을 누른다.

연결할 데이터파일 mdf파을을 찾은 후 확인 버튼을 눌러준다.

 

위 사진처럼 mdf파일이 연결되면 자동으로 ldf파일을 찾아주는데 ldf파일을 찾는 우선순위는
* 동일한 경로에 ldf파일을 찾는다 만약에 없을 경우 데이터파일 분리 직전에 ldf파일 위치를 찾는다.

 


ldf파일의 위치가 정확히 지정되지 않은 경우에는 파일 경로를 변경해야 한다.

만약 로그파일(ldf)이 정상적으로 복제가 안 이루어 지고 파일이 깨졌다고 가정하면, 로그파일에 있는 변경이력을 통해 이전 데이터를 복구할 수 없지만 복구가 필요없다고 하는 경우

 

위 사진처럼 로그파일(ldf)없이 데이터베이스 연결이 가능하다. 로그파일을 제거한후 확인을 누른다.

이 경우 default log경로에 빈 ldf파일을 자동으로 생성하게된다.

 


마지막으로 연결 할 때에는 DB명을 변경하여 연결할 수도 있다.

728x90
반응형