2009-12-11 1 views
0

다른 타사 제품과 제품을 연결해야합니다. 필자가해야 할 일 중 하나는 여러 데이터베이스 테이블을 만질 수있는 새로운 "프로젝트"를 추가 할 때 써드 파티 제품 기능 중 일부를 모방하는 것입니다. 데이터에 대한 모든 변경 사항을 기록하는 데이터베이스에 일종의 글로벌 훅을 추가하는 방법이 있습니까?SQL 2005 데이터베이스의 모든 변경 사항을 쉽게 추적 할 수 있습니까?

후크를 추가하고 타사 응용 프로그램을 사용하여 프로젝트를 만든 다음 모든 테이블이 영향을 받았는지 확인하고 싶습니다.

새로운 행뿐만 아니라 여러 가지 새로운 필드가 추가되어 새로운 프로젝트에서 증가하는 것으로 나타났습니다. 새로운 프로젝트 삽입시 수정되는 다른 레코드가있을 수 있습니다. 그리고 새로운 행이 추가되는 것이 아닙니다. 어떤 도움

감사 ~ 프레스콧

답변

0

는 서버에서 실행되는 모든 쿼리를 캡처합니다

  1. 실행 SQL Server 프로파일 러을 변경합니다. 데이터베이스, 스키마 또는 테이블 집합 등을 기준으로 필터링 할 수 있습니다.
  2. 타사 트랜잭션 로그 판독기을 사용하십시오. 이것은 매우 덜 방해적인 과정입니다. 데이터베이스에서 전체 복구로 설정되어 있는지 확인해야합니다.
0

로그가 재사용되지 않습니다 있는지 확인하십시오 :

  • 데이터베이스가 전체 복구 모드 (초기 백업과, 전체 TRUE)입니다
  • 로그 백업 유지 관리 작업이 테스트 기간 동안 일시 중지됩니다.

다음 :

현재 데이터베이스 LSN
  • 아래로 363,210
    • 쓰기는 제 3 자 프로젝트는 모든 작업이 로그에 apear 것 쓰기 select * from ::fn_log(oldcurrentLSN, NULL);

  • 체크 새로 추가 된 로그 정보를 생성 실행합니다. 실제 작업 (할당 단위 ID)에서 논리적 작업 (객체 ID)을 얻을 수 있습니다.

    데이터베이스 수준에서 바로 사용할 계획이라면 타사 스키마 및 데이터 모델을 제대로 이해해야합니다. 타사 도구를 업데이트하려고 계획 중이고 어떤 테이블을 업데이트할지 모를 경우 데이터가 손상 될 가능성이 높습니다. 난 당신이 추적 할 수있는 다음과 같은 방법을 생각할 수

  • 관련 문제