복구 모델
전체 / 대량 로그 / 단순(로그백업불가)
백업 종류
전체 백업 (Full backup)
- 처음 DB 생성시
- 트랜잭션 로그를 비웠을시
- DB에 변경이 생겼을때(ALTER DB)
- 차등, 로그 백업 전 한번 이상
BACKUP DATABASE 디비이름 TO 파일&장치
차등 백업 (Differential Backup)
- 마지막 백업 이후에 변경된 모든 데이터를 백업
- 복구시 마지막 차등백업과
마지막과 가장 가까운 전체백업 파일
BACKUP DATABASE 디비이름 TO 파일&장치
WITH DIFFERENTIAL
로그 백업 (Log Backup)
- 백업 속도가 빠르고 복원속도가 느리다
- 중간 로그백업파일 유실 시 복구 불가
BACKUP LOG 디비이름 TO 파일&장치
부분 백업 (Partial Backup)
- 파일 그룹을 백업
- 주 파일 그룹, 읽기/쓰기 파일그룹만 백업
- 단순 복구 모델에 가장 적합
BACKUP DATABASE 디비이름
READ_WRITE_FILEGROUPS TO 장치
미러 백업 (Mirror Backup)
- 백업 데이터의 유실이나 파손 시
데이터 유실을 막기 위해 사용
- 백업 장치 이외에 하나의 장치에 똑같이 백업
BACKUP DATABASE 디비명
TO DISK = 'C:\a.bak'
MIRROR TO DISK = 'D:\a.bak'
WITH FORMAT
복사 전용 백업 (Copy Backup)
- 데이터 베이스의 복사나 이동 테스트시 사용
BACKUP DATABASE 디비이름 TO 장치
WITH COPY_ONLY
체크섬 기능 (CHECKSUM)
- 백업시 데이터의 이상 유무를 체크
- 백업 체크섬을 해야 복원시 체크섬가능
BACKUP DATABASE 디비이름 TO 장치
WITH CHECKSUM
백업 매체 초기화
- 기존 백업 내용이 삭제 디폴트는 NOINIT
BACKUP DATABASE 디비이름 TO 장치
WITH INIT
다중 백업 장치 초기화
- 다중 백업 장치를 초기화 한후 백업 수행
- 대개 다른 내용이 들어있는 여러 디스크에
처음 백업 할 때 사용
BACKUP DATABASE 디비이름 TO 장치1, 장치2
WITH FORAMT
비밀번호 지정
- 백업 및 복원시 비밀번호 지정
BACKUP DATABASE 디비이름 TO 장치
WITH PASSWORD ='비밀번호'
백업 중 오류발생시 계속 여부
- 잘못된 체크섬 발생시에도 계속 백업 진행
- 디폴트는 STOP_ONERROR 오류시 백업 중지
BACKUP DATABASE 디비이름 TO 장치
WITH CONTINUE_AFTER_ERROR
진행률 표시
- 대용량 백업 진행시 현재 상황을 보는데 편리
BACKUP DATABASE 디비이름 TO 장치
WITH STATS
문제 발생시 로그 백업 (비상 로그 백업)
- NO_TRUNCATE 옵션 사용 이상시에도 가능
BACKUP LOG 디비이름 TO 장치
WITH NO_TRUNCATE
----------------------------------------------------------------------------------------
복원
전체 복원
- 전체 파일을 복원한다.
RESTORE DATABASE 디비이름 FROM 장치
차등 복원
- 차등 복원. 전체복원과 동일
- WITH DIFFERENTIAL 옵션 필요 없음
RESTORE DATABASE 디비이름 FROM 장치
로그 복원
- 로그 파일을 복원
RESTORE LOG 디비이름 FROM 장치
복원 완료 및 복원 중
- 전체 백업과 로그 백업을 병행한 경우 복원 완료까지
접근을 제어 할 수 있다.
- WITH RECOVERY(default)
RESTORE DATABASE 디비이름 FROM 장치
WITH NORECOVERY
복원 후에 제한된 사용자만 접근 허용
RESTORE DATABASE 디비이름 FROM 장치
WITH RESTRICTED_USER
RESTORE DATABASE 디비이름 FROM 장치
WITH RECOVERY
복원 시 데이터 파일의 이동
- 기존 디스크가 꽉찼거나 문제가 있을 시
RESTORE DATABASE 디비이름 FROM 장치
WITH MOVE 'AdventureWorks_data' TO 'D:\adv.mdf'
, MOVE 'AdventureWorks_log' TO 'D:\adv.ldf'
오류가 발생해도 계속 복원
RESTORE DATABASE 디비이름 FROM 장치
WITH CONTINUE_AFTER_ERROR
원래 파일이 있으면 덮어쓰기
RESTORE DATABASE 디비이름 FROM 장치
WITH REPLACE
정확한 시점까지만 복원하기
RESTORE DATABASE 디비이름 FROM 장치
WITH STOPAT = '날짜와 시간'
데이터베이스 스냅숏으로 복원하기
RESTORE DATABASE 디비이름 FROM DATABASE_SNAPSHOT = '스냅숏 이름'
페이지 복원
RESTORE DATABASE 디비이름 PAGE='파일번호:페이지번호' FROM 백업장치
증분 복원
- 파일 그룹 단위로 복원 진행
RESTORE DATABASE 디비이름 FROM 장치
WITH PARTIAL
댓글 없음:
댓글 쓰기