[SQL2005 Guide] 데이터베이스 파일 이동하기
데이터베이스 파일 이동
ALTER DATABASE 문을 사용하여 파일 정보를 변경하거나 데이터베이스 분리 및 연결 시스템 저장 프로시저를 사용하여 데이터베이스를 이동할 수 있습니다.
데이터베이스를 이동할 때는 분리 및 연결 작업보다 ALTER DATABASE를 이용하는 것이 좋습니다. ALTER DATABASE 문의 FILENAME 절에 새 파일 위치를 지정하면 리소스 데이터베이스 파일을 제외한 시스템 데이터베이스와 사용자 데이터베이스의 파일을 이동할 수 있습니다. 이 절차를 수행하려면 ALTER DATABASE 문을 실행할 데이터베이스 파일의 논리 이름을 알고 있어야 하며, sys.master_files 카탈로그 뷰에서 name 열을 조회하면 논리 파일 이름을 확인할 수 있습니다.
[따라하기] ALTER DATABASE 문을 사용하여 사용자 데이터베이스 파일 이동하기 | ||||||||||||||
C 드라이브에 주 데이터 파일과 트랜잭션 로그 파일이 있는 데이터베이스를 주 데이터 파일은 D 드라이브, 트랜잭션 로그 파일은 E 드라이브로 이동하는 예제입니다.
1. 데이터베이스 파일의 논리 이름을 확인합니다. SELECT file_id, name, physical_name FROM sys.master_files WHERE database_id = db_id('Sample'); GO 2. 사용자들에게 공지하여 작업하고자 하는 데이터베이스에 대한 연결을 해제하도록 합니다. 만일 해제되지 않는 연결이 남아 있어서 문제가 되는 경우에는 다음과 같은 방법을 사용하여 연결을 해제할 수 있습니다. USE Sample; GO ALTER DATABASE Sample SET SINGLE_USER WITH ROLLBACK AFTER 60; GO 3. 데이터베이스를 오프라인 상태로 만듭니다. ALTER DATABASE Sample SET OFFLINE GO 4. 파일을 새로운 위치로 이동합니다. 5. 데이터베이스 파일 위치 정보를 변경합니다. ALTER DATABASE Sample MODIFY FILE ( NAME = Sample_dat, FILENAME = 'D:\DBdata\Sample_dat.mdf'); GO ALTER DATABASE Sample MODIFY FILE ( NAME = Sample_log, FILENAME = 'E:\DBlog\Sample_log.ldf '); GO 6. 데이터베이스를 온라인 상태로 변경합니다. ALTER DATABASE Sample SET ONLINE; GO |
만일 데이터베이스를 다른 서버로 이동하고자 하는 경우에는 분리 및 연결 작업을 사용합니다.