728x90
반응형
# 복구 모델이란?
데이터베이스에 트랜잭션이 발생하였을 때 트랜잭션을 로그에 기록하는 범위를 지정해 놓은 것입니다.
장애 발생시 데이터 손실을 취소화하기 위한 계획을 세우는데 필수적으로 고려해야할 부분으로 데이터베이스 백업과 밀접한 관계가 있습니다.
# 데이터베이스 복구 모델의 종류 및 차이점
1) 단순(Simple)
- 트랜잭션 로그를 자동으로 삭제
- 데이터가 중요하지 않고, 쉽게 재생성이 가능한 경우
- 테스트나 개발에 사용하는 DB
- 마지막 백업 이후의 데이터는 복구 불가능. 백업을 하지 않은 경우에는 데이터 복구 불가능
- 트랜잭션 로그를 백업할 수 없음
2) 대량 로그(Bulk Logged)
- 데이터가 중요하지만, 대량의 벌크 로그는 로그를 남기지 않도록 할 경우(BULK INSERT, CREATE INDEX, SELECT INTO, 기타 등등)
- 벌크 로그가 생성되는 명령을 사용하지 않고, 사용하더라도 특별한 경우에만 이용하는 경우
- 장애가 발생한 시점까지 복구 가능하나 원하는 시점까지 복구는 불가능
3) 전체(Full)
- 모든 트랜잭션을 로그에 기록
- 데이터가 중요하고, 벌크 로그도 중요한 경우
- 문제 발생 시점까지 복구 가능하고 원하는 시점까지도 복구 가능
- 데이터베이스 미러링에서는 반드시 전체(Full) 복구 모델이 필요
# 복구 모델 변경 방법
1) SSMS를 이용한 방법
데이터베이스 "등록정보" > "옵션" 에서 복구 모델을 변경할 수 있습니다.
2) T-SQL을 이용한 방법
다음과 같은 명령을 이용하여 복구 모델을 변경할 수 있습니다.
데이터베이스에 트랜잭션이 발생하였을 때 트랜잭션을 로그에 기록하는 범위를 지정해 놓은 것입니다.
장애 발생시 데이터 손실을 취소화하기 위한 계획을 세우는데 필수적으로 고려해야할 부분으로 데이터베이스 백업과 밀접한 관계가 있습니다.
# 데이터베이스 복구 모델의 종류 및 차이점
1) 단순(Simple)
- 트랜잭션 로그를 자동으로 삭제
- 데이터가 중요하지 않고, 쉽게 재생성이 가능한 경우
- 테스트나 개발에 사용하는 DB
- 마지막 백업 이후의 데이터는 복구 불가능. 백업을 하지 않은 경우에는 데이터 복구 불가능
- 트랜잭션 로그를 백업할 수 없음
2) 대량 로그(Bulk Logged)
- 데이터가 중요하지만, 대량의 벌크 로그는 로그를 남기지 않도록 할 경우(BULK INSERT, CREATE INDEX, SELECT INTO, 기타 등등)
- 벌크 로그가 생성되는 명령을 사용하지 않고, 사용하더라도 특별한 경우에만 이용하는 경우
- 장애가 발생한 시점까지 복구 가능하나 원하는 시점까지 복구는 불가능
3) 전체(Full)
- 모든 트랜잭션을 로그에 기록
- 데이터가 중요하고, 벌크 로그도 중요한 경우
- 문제 발생 시점까지 복구 가능하고 원하는 시점까지도 복구 가능
- 데이터베이스 미러링에서는 반드시 전체(Full) 복구 모델이 필요
# 복구 모델 변경 방법
1) SSMS를 이용한 방법
데이터베이스 "등록정보" > "옵션" 에서 복구 모델을 변경할 수 있습니다.
2) T-SQL을 이용한 방법
다음과 같은 명령을 이용하여 복구 모델을 변경할 수 있습니다.
-- set to Full recovery ALTER DATABASE AdventureWorks SET RECOVERY FULL GO -- set to Bulk Logged recovery |
'DB > MS-SQL' 카테고리의 다른 글
동적으로 원하는 개수만큼 행을 다루기(TOP, ROWCOUNT) (0) | 2008.07.10 |
---|---|
임시테이블의 OBJECT_ID 얻기 (0) | 2008.06.10 |
SELECT @@VERSION 의 빌드(BUILD) 번호로 서비스팩 및 보안패치 현황 파악하기. (0) | 2008.03.12 |
유용한 SQL 도구 - SQL Prompt (0) | 2008.02.26 |
SQL 2008에서 바뀌는 Database 관리 명령. (0) | 2007.11.13 |