류짱:Beyond MySelf

User database 파일 이동 방법 본문

Microsoft/MS SQL

User database 파일 이동 방법

リュちゃん 2010. 4. 12. 09:55

1. SQL server management의 쿼리 탐색기에서 파일 위치를 변경하고자 하는 데이터베이스 파일의 논리 이름을 확인합니다.

SELECT file_id, name, physical_name FROM sys.master_files WHERE database_id = db_id('testdb')
GO

 

Name과 Physical Name을 구분하여 확인 하시기 바랍니다.
* 아래 항목은 해당 DB에 접속한 사용자가 없을 경우 진행 하지 않으셔도 됩니다.

사용자들에게 공지하여 작업하고자 하는 데이터베이스에 대한 연결을 해제하도록 합니다.

만일 해제되지 않는 연결이 남아 있어서 문제가 되는 경우에는 다음과 같은 방법을 사용하여 연결을 싱글 유저로 변경 후 다시 멀티 유저로 변경 후 다시 작업을 진행 합니다.

USE Sample;
GO
ALTER DATABASE TestDB SET SINGLE_USER
WITH ROLLBACK immediate 
GO
ALTER Database TestDB Set multi_user
go


2.
데이터베이스를 오프라인 상태로 만듭니다.

Use master
go
ALTER DATABASE TestDB SET OFFLINE;
GO

데이터베이스 파일들을 새로운 위치로 이동합니다.
C:\testdb.mdf와 testdb_l.ldf 를 C:\new로 이동합니다.


3. 데이터베이스 파일 위치 정보를 변경합니다
 

alter database testDB modify file ( name=testDB, filename = 'C:\weB\sqlDB.mdf' )
go
alter database testDB modify file ( name=testDB_log, filename = 'c:\testDB\sqlDB_log.ldf' )
go

4. 데이터베이스를 온라인 상태로 변경합니다.

Use master
go
ALTER DATABASE Sample SET ONLINE;
go


 

5. 바뀐 database 위치를 확인 합니다.

use testdb
go
sp_helpfile
go

[참고 사이트]
사용자 데이터베이스 이동
http://msdn.microsoft.com/ko-kr/library/ms345483(SQL.90).aspx