반응형
- /**********************************************************************************************
-- Title : [2k] MDF, LDF 파일을 사용한 복구
-- Reference : dbRang.com
-- Key word : sp_attach_db, sp_detach_db
**********************************************************************************************/
/* tempdb만큼은 alter database를 이용하여 이전한다. */
-- 1. 단일 사용자 모드 변경
USE MASTER
GO
ALTER DATABASE sample
SET SINGLE_USER
WITH ROLLBACK AFTER 5
GO
-- 2. 데이터베이스와 파일을 분리
EXEC sp_detach_db 'sample', 'true'
GO
-- 3. 데이터베이스 파일을 이전할 위치로 copy
-- 4. 데이터베이스 연결
EXEC sp_attch_db 'sample'
, 'F:\dbdata\sample_dat.mdf'
, 'G:\dblog\sample_log.ldf'
GO
-- .mdf 파일만 있는 경우
EXEC SP_ATTACH_DB N'Northwind', N'd:\northwnd.mdf'
--장치 활성화 오류입니다. 물리적 파일 이름 'd:\Northwind_log.LDF'이(가) 잘못된 것 같습니다.
--'d:\Northwind_log.LDF'(이)라는 새 로그 파일이 만들어졌습니다.
-- 주의!!!
-- ㅇ로그가 두개 이상인 경우 반드시 로그가 있어야만 attach가 된다.
-- 물론 로그 파일이 존재한 상태에서 SP_ATTACH_DB시 로그파일을 지정안해도 ATTACH된다.
-- ㅇ이유는? 잘 몰겠다... 아키텍쳐상 그런거 같은데 그림이 안 그려진다.
-- 명시적으로 sp_detach_db 작업을 사요하여 서버에서 이전에 분리된 데이터베이스에서만
-- 아래 sp_attach_single_file_db를 사용할 수 있다.
EXEC sp_attach_single_file_db 'Northwind', N'd:\northwind.mdf'
반응형