2012-02-28 2 views
1

내 응용 프로그램에서 내역 기능을 구현하려고하지만 모든 비즈니스 개체 데이터 테이블에 대한 내역 데이터 테이블을 만드는 것을 건너 뜁니다.내역 테이블 구현

내가

ID: int 
XML: Data 
Name: data table name 

에 따라 하나의 ID 열 등의 변경된 데이터로 XML 열을 포함하는 하나의 이력 데이터 테이블을 만드는 방법에 대해 생각이 방법 누군가에 의해 구현하거나이 아키텍처에 대한 제약을 볼 수 있습니까인가 ?

답변

0

나는이 기사의 수정 된 버전 (Adding simple trigger-based auditing to your SQL Server database)을 몇 년 동안 사용해 왔습니다.

최신 DMV에서 사용할 수없는 열 위치 (예 : sys.tables, sys.columns)에 의존하기 때문에 이전 INFORMATION_SCHEMA보기를 사용합니다. 그것 이외에 그것은 날고 매력처럼 작동합니다.

성능이 문제가되는 경우는 거의 없으며 Service Broker를 사용하여 기록 테이블에 대한 비동기 트리거를 구현하는 방법을 고려해 볼 수 있습니다.

0

2008 년 사용 중이므로 Change Data Capture을 사용해보세요.

+1

기본적으로 3 일마다 데이터가 제거되므로 기록 테이블에는 적합하지 않습니다. – HLGEM

+0

[sys.sp_cdc_change_job]으로 구성 할 수 있습니다. (http://msdn.microsoft.com/en-us/library/bb510748.aspx) – Stijn

+0

그러나 대부분의 사람들은 돈을 모으기 때문에 이것을 알고 있습니다. – HLGEM