본문 바로가기

DB/mssql

[sql] 전체, 차분, 트랜잭션로그 복구 스크립트



 

//전체, 차분, 트랜잭션로그 백업이 이미 되어 있다는 가정하에 구동되는 스크립트입니다.



USE MASTER
GO

RESTORE FILELISTONLY FROM DISK='C:\Backup\Full\{{db_name}}.bak'

RESTORE DATABASE {{db_name}}
FROM DISK = 'C:\Backup\Full\{{db_name}}.bak' WITH RECOVERY, REPLACE
GO

// 백업 상태에서 일반 상태로 변경
RESTORE DATABASE {{db_name}} WITH RECOVERY




//
복구 – Sql Management 에서 GUI 로도 가능한 작업입니다.

//전체 백업 복구 – c:\Backup\Full 안에 전체 백업이 있다고 가정
//WITH 옵션 복구 상태에서 현재 db 정보(mdf)를 백업으로 갱신합니다. 다른 곳에 옮기고 싶으면 MOVE 옵션 참조

RESTORE DATABASE {{db_name}}
FROM DISK = 'C:\Backup\Full\{{db_name}}.bak'
WITH NORECOVERY, REPLACE

//전체 백업 복구 – c:\Backup\Diff 안에 차분 백업이 있다고 가정
//WITH 옵션 복구 상태에서 현재 db 정보
(mdf) 백업으로 갱신합니다. 다른 곳에 옮기고 싶으면 MOVE 옵션 참조

RESTORE DATABASE {{db_name}}
FROM DISK = 'C:\Backup\Diff\{{db_name}}\{{db_name}}_backup_2017_04_21_142730_9257402.bak'
WITH NORECOVERY, REPLACE

//전체 백업 복구 – c:\Backup\TransactionLog 안에 마지막 트랜잭션로그가 있다고 가정

//WITH 옵션 완료되면 복구중 해제시키고 현재 db 정보(mdf) 백업으로 갱신합니다. 다른 곳에 옮기고 싶으면 MOVE 옵션 참조

RESTORE DATABASE {{db_name}}
FROM DISK = 'C:\Backup\TransactionLog\{{db_name}}_backup_2017_04_21_142740_4105519.trn'
WITH RECOVERY, REPLACE