데이터베이스 백업과 복원 본문
백업과 복원 이해
백업 : 자료들(datas)을 복사, 보관
-> 데이터베이스는 쉽게 손상되지는 않지만, 결코 손상되지않는다고 보장할 수는 없다. 그래서 만일에 대비해 '백업'해야 합니다.
복원 : 원래대로 회복
-> 손상된 데이터베이스를 복구하여 원래대로 회복하기 위해 '복원'해야 합니다.
SQL Server에서 제공하는 대표적인 백업방법
백업전략 : 전체 백업 + 차등 백업 + 트랜잭션 로그 백업 수행
-> 전체 백업 사이에 차등 백업과 트랜잭션 로그 백업을 하는 전략
ex) 전체 백업(1주 1회 2주분) / 차등 백업 (1일 1회 7일분) / 트랜잭션 로그 백업(1시간 1회 3일분)
복구 모델(Recovery Model)
데이터베이스 복구 모델은 데이터베이스 옵션 중 하나로, 어떻게 백업하고 복원할 지 결정하는데 중요한 기준이 됩니다.
전체(Full) : 모든 데이터 변경에 대한 로그를 트랜잭션 로그 파일에 기록합니다.
대량 로그(Bulk-logged) : BCP, BULK INSERT, INSERT ... SELECT 같은 작업 '대량 로그 작업'과 CREATE INDEX, ALTER INDEX REBUILD 같은 '대량 로그 인덱스 작업'을 기록하지 않는 방식으로 대량 로그 작업이 발생하면 특정 시점으로 복원할 수 없습니다.
단순(Simple) : 트랜잭션이 완료되면 자동으로 지워진다. 트랜잭션 로그 파일로 복원할 수 없습니다.
백업 전략과 복원의 관계
어떠한 전략을 백업했는가에 따라 복원 과정이 달라집니다.
예시) 전체 백업 + 차등 백업 + 로그 백업 전략 복원단계
1) 문제가 발생시 발생 직전까지 로그 백업을 받는다.
2) 가장 최근에 저장된 전체 백업 파일을 가지고 복원한다.
3) 전체 백업 이후에 차등 백업 파일이 있으면 시간순(과거 -> 현재)으로 복원한다.
4) 차등 백업 이후에 트랜잭션 로그 백업 파일이 있으면 시간순(과거 -> 현재)으로 복원한다.
5) 문제 발생시 백업했던 마지막 트랜잭션 로그 파일을 이용하여 특정시점으로 복원한다.
실습
백업
1) 백업할 데이터베이스 우클릭 후 [테스크] - [백업] 선택합니다.
2) 백업 유형에 전체 / 차등 / 트랜잭션 로그 중에 하나를 선택하고, 추가를 눌러 백업 파일을 저장할 위치를 지정합니다.
3) [미디어 옵션] 탭을 클릭하여, 덮어쓸지 새로 추가할지 설정합니다.
4) 백업 파일 압축 설정을 통해 백업 파일의 크기를 줄이 수 있습니다.
(단, 에디션마다 기능이 제한적이고 CPU 사용량이 높아집니다.)
5) 백업 성공 후 백업 파일 확인
복원
1) 데이터베이스 폴더를 우클릭한 후 [데이터베이스 복원]을 클릭합니다.
2) [장치]에서 백업할 파일을 선택하고, [파일] 탭을 클릭합니다.
3) [파일] 탭에서 데이터 파일과 로그 파일 위치를 지정해줍니다. 그리고 [옵션] 탭을 클릭합니다.
4) [옵션] 탭엣 기존 데이터베이스 덮어쓸지와 보구 상태를 결정합니다. 그리고 [확인]을 클릭하여 복원합니다.
RESTORE WITH RECOVERY
- 커밋되지 안은 트랜잭션을 롤백함
- 데이터베이스를 사용할 수 있는 상태로 유지함
- 백업 파일을 추가로 복원할 수 없음
RESTORE WITH NORECOVERY
- 데이터베이스를 복언 중 상태로 유지함
- 커밋되지 않은 트랜잭션을 롤백하지 않음
- 백업 파일을 추가로 복원할 수 있음
'SQL Server > SQL Server 운영' 카테고리의 다른 글
SQL Server 고가용성 : 로그 전달(Log Shipping) (0) | 2019.02.14 |
---|---|
SQL Server 고가용성 : 복제(Replications) (0) | 2019.02.14 |
SQL Server 엑셀 데이터 가져오기/내보내기 (1) | 2019.02.11 |
SQL Server 설치 (0) | 2019.02.11 |
SQL Server 에디션 (0) | 2019.02.11 |