다른 시스템의 데이터는 Goldengate를 사용하여 실시간으로 SQL Server 2005 데이터베이스에 복제됩니다 (하루 동안은 수백 건의 트랜잭션입니다). 최근에 거래가 있었는지 알 수 있기를 원합니다. 복제가 현재 일어나고 있는지 알려줄 것입니다. 근무 시간 외에도 몇 분 간격으로 거래를 기대할 수 있지만 400 개의 테이블 중 어느 것이 들어갈 지 알 수 없습니다.는 "동기화 알림"테이블에 가장 최근의 SQL Server 데이터베이스 활동 찾기
- IUD 트리거 :
여기에 내 현재 프로세스의 이 날짜를 GETDATE()와 비교합니다. 너무 길면 이메일로 알려줍니다.
이것은 대부분 작동하지만, 모니터가 아닌 다른 테이블에 활동이있는 경우 오탐 (false positive)이 발생합니다. 이는 밤새 발생할 수 있습니다.
데이터베이스의 모든 테이블에 동일한 트리거를 추가하는 것 외에 다른 제안 사항이 있습니까? 트리거를 추가하면 "동기화 알림"테이블에서 교착 상태와 경합을 방지하는 방법은 무엇입니까? 고 콘텐 튼 기간 동안 가장 최근 날짜가 정확한지 신경 쓰지 않기 때문에 SQL에서 날짜를 업데이트 할 수있는 방법이 있습니까? 다른 프로세스가 잠근 경우 SQL을 건너 뛸 수 있습니까?
내가 가진 유일한 "응용 프로그램 수준"선택은 Goldengate 모니터에 TELNET을 보내고 복제 지연을 요청한 다음 결과를 스크랩하는 것입니다. 나는 그것에 대해 개방적이지만 가능한 경우 SQL 측에 뭔가를하고 싶습니다.
어떤 버전의 SQL Server입니까? – RedFilter
내 질문에 버전을 추가했습니다. – SqlRyan