반응형
- /**********************************************************************************************
-- Title : [2k] 논리적 파일명 및 물리적 파일명 바꾸기
-- Reference : dBRang.com
-- Key word : alter database, restore database, sp_detach_db
**********************************************************************************************/
/*
** 백업/복구를 이용한 물리적 파일명 바꾸기
*/
RESTORE DATABASE [pubs2] FROM DISK = N'D:\Microsoft SQL Server\pub_backup'
WITH FILE = 1
, NOUNLOAD
, STATS = 10
, RECOVERY
, REPLACE
, MOVE N'pubs' TO N'd:\Microsoft SQL Server\pubs2.mdf'
--// pubs.mdf -> pubs2.mdf
, MOVE N'pubs_log' TO N'd:\Microsoft SQL Server\pubs2_log.ldf';
--// pubs_log.ldf -> pubs2_log.ldf
/*
** 데이터베이스 연결을 이용한 물리적 파일명 바꾸기
*/
-- 1. 데이터베이스와 파일을 분리
EXEC sp_detach_db 'sample', 'true'
GO
-- 2. 데이터베이스 파일 위치및/파일명 변경
C:/> ren sample.mdf sample_dat.dmf
C:/> ren sample.ldf sample_log.ldf
-- 3. 데이터베이스 연결
EXEC sp_attch_db 'sample'
, 'F:\dbdata\sample_dat.mdf' --// 새로운 파일명 지정
, 'G:\dblog\sample_log.ldf' --// 새로운 파일명 지정
/*
** ALTER DATABASE로 논리적 파일명 바꾸기
*/
-- 1. 논리적 파일명 확인
SELECT name FROM sysfiles
GO
--2. 논리적 파일명 변경(단일 모드 변경을 우선 실행한다.)
ALTER DATABASE sample
MODIFY FILE (NAME = sample_dat, NEWNAME = sample_dat2)
GO
ALTER DATABSE sample
MODIFY FILE (NAME = sample_log, NEWNAME = sample_log2)
GO
반응형