2013-02-15 2 views
0

사용자 정의 테이블에서 트리거를 구현할 수 있지만 시스템 테이블 (log_shipping_primarieslog_shipping_secondaries)이 아닌 백업 .bak 파일이 생성 될 때 및 트랜잭션 로그 파일 .trn 파일이 복사되어 보조 데이터베이스기록 데이터를 수집하기 위해 시스템 테이블에 트리거를 두려면 어떻게해야합니까?

목표 : RPO (복구 지점 목표)> I가 log_shipping activities 모니터링 높은 관리 기록 데이터를 제공하는 임무를 부여 하였다 보조 데이터베이스 (DR 사이트)

에서 15 분을 구현한다. 이제 문제는이 2 개의 테이블이 새로운 엔트리가 추가 될 때마다 매번 기존 엔트리를 업데이트한다는 것입니다.

해결 방법 (SQL Server 2000에서는 작동하지 않음) : 새 항목을 삽입 할 때마다 트리거를 통해 사용자 정의 테이블에 유사한 데이터를 삽입하여 기록 데이터를 유지합니다.

  1. 시스템 테이블에서 트리거를 구현하는 방법 (필요한 권한은 무엇입니까?) 또는 전혀 가능하지 않습니다 (사전에 알려주십시오)?
  2. 대안은 저장 프로 시저 또는 뭔가 (내가 저장 프로 시저의 경험을했습니다 없음)

답변

1

백업 및 트랜잭션 로그 배송 SQL 작업을 사용하는 경우, 그 경우에 당신이에 그 전에 단계를 추가 할 수 있습니다 같은 트리거 할 해당 데이터를 히스토리 테이블에 임포트하십시오.

0

시스템 테이블에서 트리거를 만들 수 없습니다.

내가 적절한 어떤 주파수에서 실행 SQL Server Agent에 작업 추가보고 싶은데

(말을, 매 30 초마다)

+0

답장을 보내 주셔서 감사합니다. 하나의 쿼리 일부 시스템 테이블에서 트리거 허용 (log_shipping_history), 어떤 시스템 테이블이 트리거를 허용하는지 파악할 수있는 스크립트를 제안 할 수 있습니까? –

0

왜 각 백업하기 전에 테이블에서 데이터를 저장하는 작업을 생성? 이것을하는 방법에 관해서는, 그것은 당신의 선택입니다. 저장 프로 시저를 작성하고 INSERT 문을 SQL Agent 작업에 직접 작성하고 컴퓨터 옆에 앉아 15 분마다 F5를 누르십시오. :-) 다양한 옵션이 있습니다.