SQL Server 트랜잭션 복제에서 문제가 발생하여 그 근본 원인을 얻을 수 없습니다. 첫째, 내가 DBA가 아니므로 DBA의 개념이 거의 바보 일 수 있습니다. .Net 개발자이고 복제 설정에 대한 책임이 있습니다.트랜잭션 복제가 실패 함
저는 Headoffice에 데이터베이스가 있고 소매점의 다른 서버에 몇 개의 테이블을 복제하고 있습니다. 처음 선택한 기사를 사용하여 복제를 구성했습니다. 복제가 연속적이었습니다. 그것은 잘 실행되었지만 일요일 밤에 오류로 실패했습니다 "프로세스가 'sp_replcmds'를 실행할 수 없습니다." Google에서 언젠가 지출 한 후 해결책을 찾지 못했습니다. 그래서, 나는 복제를 재건하지만, 이번에는 (15 분 간격으로) 복제가 계획되었고, 나는 PUSH가 아닌 PULL로 설정되었다. 시작되었지만 다음 주 일요일 저녁에 추락했습니다. 그래서 나는 일요일 밤에 데이터베이스에서 Reindexing 작업을 구성했으며 복구 모델이 꽉 차서 매우 큰 TLOG를 생성했으며 Repolication 에이전트가이를 구문 분석 할 수 없다고 분석했습니다. 이제 3 번 째, 복제본을 다시 빌드하고 이번에는 복제를 15 분 간격으로 계획했지만 오전 8 시부 터 오전 11시 30 분까지입니다. 11시 30 분 이후에는 아무 트랜잭션도 수행하지 않기 때문입니다. 또한 Reindexing Job의 경우 2 단계 더 추가했습니다. 재 인덱싱하기 전에 복구 모델을 단순한 것으로 변경 한 다음 다시 인덱싱하고 복구 모델을 전체로 다시 변경했습니다. 나는 Re-Indexing 단계의 결과와 관계없이 복구를 전체로 변경하고있었습니다. 이 설정은 정상적으로 작동했으며 약 2 개월 동안 올바르게 작동했습니다.
이제 2 개월 후 같은 일요일 밤에 다시 한 일요일 밤에 실패했습니다. 동일한 이유로 ("프로세스가 'sp_replcmds'를 실행할 수 없습니다.). 사실, 나는 백업 작업을 예약했고 매일 전체 백업을 수행하고 15 분마다 로그 백업을 수행했으며 차등 백업은 수행하지 않았습니다. 이후, 차등 백업을 구성하지 않았 음을 발견하고, 같은 (6 시간마다)을 구성했습니다. 차등 백업을 구성한 후 일요일 밤 복제가 실패했습니다.
이제 아무에게도 제 시나리오와 관련하여 권장 설정을 도와주세요. 내 설정은 입니다. SQL Server - Windows Server 2008 R2의 SQL Server 2008 R2 Enterprise 배포자와 게시자는 동일한 컴퓨터에 있습니다. 구독자가 Retail Store 서버에 있습니다.
안녕 벤, 답장을 보내 주셔서 감사합니다. 이미 복제가 잘 돌아가고 있다고 언급했습니다. 차등 백업을 활성화 한 후에 파산했습니다. 차동 백업이 유일한 이유인지 확실하지 않습니다. (전체, Diff 및 Tlog), 복제 (PULL) 및 재 인덱싱 (일주일에 한 번, 전체 DB)의 조합이 있습니다. 이것은 매우 일반적입니다. 또한, 다시 인덱싱하는 동안 무거운 로그를 건너 뛰기 위해 복구 모드를 변경 중입니다. 권장 사항을 설정하는 방법을 권해주십시오. –
그럼 잠시 동안 복제 작업을하는 것처럼 들리지만 중단됩니다. 다음으로 확인해야 할 것은 게시 된 데이터베이스와 배포자 데이터베이스 모두에서 '백업과 동기화'옵션입니다. 이 작업은'select databasepropertyex ('yourDbName', 'IsSyncWithBackup '')로 할 수 있습니다. 내 이론은 배포자에서 로그를 켜서 게시자가 로그를 지울 수 없도록하는 것입니다. 게시자의 로그 파일이 가득 찼습니까? –
1. t- 로그 백업을 자주 사용하는 경우 전체 복구 모델이 좋음 2 필요하지 않은지 확인하지 못함 3. 사용중인 주atin 색인에 대한 스크립트가 확실하지 않습니다. 하나가 좋다 http://ola.hallengren.com/ 4.이 스위치 복구 모델로 다시 인덱싱 소리 무서운. 돈을 버려라. 5. 로그 리더 만 충돌하고 있습니까? 가입자 모두 괜찮습니까? – grillazz