sql server는 세 가지 복구 모델이 있다.
-simple
트랜잭션을 보관하지 않아 트랜잭션 로그 백업 지원X
최소한의 로그 정보만 유지
특정 시점 복원은 불가능하고 전체 복원만 가능
마지막 백업 이후의 변경 사항은 보호되지 않음
로그 공간을 자동으로 회수, 트랜잭션 로그 공간 관리X
-full
백업할 때까지 로그를 보존
전체, 차등, 특정 시점 복원 모두 가능
데이터 유실이 없음
다만 그만큼 로그 파일 크기가 커지기 때문에 대량 데이터 작업이 있는 경우에는 맞지 않음
-bulk logged
모든 트랜잭션 로그 보유
Bulk INSERT 등과 같은 대량 데이터 작업이 있는 경우 사용
최소 로깅을 진행하여 full 모드 보다 빠른 성능
--현재 DB의 복구 모델 확인 쿼리
SELECT name, recovery_model_desc
FROM sys.databases
WHERE name = 'DB명' ;
--현재 DB의 복구 모델 변경 쿼리
USE DB명
go
ALTER DATABASE DB명 SET RECOVERY Bulk_logged
go
SQL Server/트랜잭션&락
댓글