티스토리 뷰
SQL Server 복제구성에서 가장 중요한 부분이 배포정리 라고 생각한다.
아직도 사용하는 고객들이 있는 것 같다.
배포자데이터베이스의 크기가 무한정 늘어날 수 있는 옵션이다.
배포자데이터베이스(distribution) 가 커지면 커질수록 복제속도에도 영향을 미친다.
대부분의 로그는
select * from distribution.dbo.MSrepl_commands
select * from distribution.dbo.MSrepl_transactions
요 테이블들이 용량을 차지하게 된다.
이 테이블들을 정리하는 작업이 "배포정리" 하는 Agent Job 이다.
기본 구성이 10분에 한번씩 72시간 지난 로그를 정리하는 옵션이 디폴트이다.
하지만 배포데이터베이스의 용량관리를 위해서는 옵션을 수정하여 관리하는 방법도 고려를 해야한다.
아래 명령어는 72시간이 지난 로그는 모두 삭제하는 명령구문이다. 시간단위이며
72시간 대신에 원하는 값으로 변경하면 된다.
EXEC dbo.sp_MSdistribution_cleanup @min_distretention = 0, @max_distretention =72
Q. 만약 @max_distretention = 0 으로 하면 어떻게 될까??
A. 최종 트랜잭션로그만 남고 모두 삭제된다. 이 부분은 조심스럽게 설정해야 할 부분이다.
배포정리도 너무 오랫동안 수행되면 데이터베이스의 LOCK 이 발생하여 복제전송이 지연될 수 있다.
<배포 정리 전>
<배포 정리 후>
'SQL Replication' 카테고리의 다른 글
SQL 복제 아키텍쳐 문서 링크 (0) | 2015.11.09 |
---|
- Total
- Today
- Yesterday