CDC (변경 데이터 캡처) 기능을 사용하여 몇 개의 테이블에 대한 감사 데이터를 유지 관리하는 프로덕션 데이터베이스가 있습니다. 그러나 성능상의 영향으로 인해 CDC로 인해 수행 할 수없는 색인을 추가하는 것과 같은 데이터베이스 구조를 변경해야하므로 이제 CDC를 비활성화해야합니다.데이터베이스의 테이블에 대한 감사를 유지하는 더 나은 방법
단일 감사 테이블의 테이블 집합에 대해 웹 응용 프로그램의 모든 삽입, 삭제 및 업데이트 작업을 캡처해야합니다. 예를 들어, [C#에서] 웹 응용 프로그램을 통해 TableA에 추가, 업데이트 및 제거를 수행 할 때마다 TableA의 TableA에 대한 감사 정보를 유지해야합니다.
현재 세트의 각 테이블에 대해 이러한 3 가지 작업 중 하나가 발생할 수있는 각 저장 프로 시저를 업데이트하고 있습니다. 그러나 나는 테이블의 거대한 목록을 가지고 있기 때문에 너무 오류가 발생하기 쉽고 시간이 많이 걸린다.
이 작업을 수행하는 데있어 시간과 성능 측면에서보다 효율적으로 도움이 될 수 있도록 도와주세요.
모든 삽입, 삭제 및 업데이트 작업 캡처는 트리거를 의미합니다. 아이디어를 얻으려면 : http://weblogs.asp.net/jgalloway/archive/2008/01/27/adding-simple-trigger-based-auditing-to-your-sql-server-database.aspx – danihp
나는 그렇지 않습니다. 이 테이블을 업데이트하는 일괄 처리 프로세스가 있기 때문에 트리거를 사용할 수 있다고 생각하며이 테이블을 통해 정보를 감사하고 싶지는 않습니다. 웹 응용 프로그램을 통한 작업 만 감사해야합니다. – Deepshikha
CDC에 대해서는 잘 모르겠지만 감사 테이블에 삽입 할 수있는 테이블의 삽입/업데이트/삭제 이후 저장소 패턴이나 작업 단위를 사용하거나 삽입/삭제 후에 AOP를 사용할 수 있습니다. 업데이트/삭제, 당신은 비동기 (백그라운드 작업) 할 수 있으며 그것은 webapp 요청의 "흐름"을 차단하지 않습니다 ... – jjchiw