반응형
  1. /**********************************************************************************************
    -- 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
반응형

+ Recent posts