2018년 9월 30일 일요일

[SQL Server] Recovery Model

Professional SQL Server 2012 Internals and Troubleshooting 내용 정리

Recovery Models: Recovery Models은 세 종류로 나뉜다. Full, Bulk-Logged, Simple!
트랜잭션 로그의 증가, 백업전략, 복구 옵션에 따라 맞는 복구 모델을 선택하면 된다.

Full: 데이터 베이스의 모든 내용을 트랜잭션 로그에 기록하는 것이다. 해당 모드에서 백업은 트랜잭션 백업과 풀 백업이 같이 이루어 져야한다. SQL Server 2005부터는 전체 백업이 트랜잭션 로그를 자르지 않는다. 이렇게하면 트랜잭션 로그 백업 시퀀스가 손상되지 않으며 Full 백업이 손상된 경우 추가 복구 옵션이 제공된다. 하지만 요즘 거의 2005는 사용하지 않는다. 관리하는 데이터베이스의 가장 높은 복구수준이 Full 모드이다. 

Bulk-Logged: 이것은 특정 벌크 작업을 최소한으로 로깅하여 성능을 향상시키기 위해 일시적으로 만 사용하는 특별한 복구 모델이다. 다른 모든 작업은 Full Recovery 모델처럼 모두가 로깅된다. 트랜잭션을 롤백하는 데 필요한 정보 만 로깅되어 성능이 향상 될 수 있지만 재실행 정보는 기록되지 않으므로 특정 시점 복구 기능도 손실 될 수 있다.
 - Bulk operation의 종류는 다음과 같다
( Bulk Insert, Using the bcp executable, SELECT INTO, CREATE INDEX, ALTER INDEX REBUILD, DROP INDEX)
 Bulk-Logged Mode를 사용하면 대량 로그 작업을 더 빠르게 완료 할 수 있다. 트랜잭션 로그 백업에 필요한 디스크 공간을 줄이지 않는다.

Simple: Simple Mode가 데이터베이스에 설정되면 모든 커밋 된 트랜잭션은 Check Point가 발생할 때마다 트랜잭션 로그에서 삭제된다. 이럴 경우 로그의 크기는 최소로 유지되고 트랜잭션 로그 백업이 필요하지 않게 (또는 가능하게) 된다. 해당 모드가 좋은 것인지 나쁜 것인지 여부는 데이터베이스에 필요한 복구 수준에 따라 다르며, 마지막 Full 백업 또는 차등(Differential)백업 이후 모든 변경 내용을 잃어도 되는 비즈니스 요구 사항을 충족 시킨다면 간단한 복구가 필요할 수 있다.

Professional SQL Server 2012 Internals and Troubleshooting 21-22.p

댓글 없음:

댓글 쓰기