트리거 사용, SQL을 사용하여 DAL에서 로그하거나 log4net을 사용하여 DAL에서 로그하는 세 가지 방법이 있습니다. 트리거를 사용하는 경우 트리거
를 사용
이
, 모든 테이블에 LastUser 열을 추가 할 열 (이 빈 문자열이 아니다 체크 제약 조건 즉, NULL NOT)가 필요했다. 트리거에서 코드에 사용할 수있는 LastUser 열이 있어야 누가 사람이 무엇을했는지 기록 할 수 있습니다. 당신은 당신이 사용하고있는 데이터베이스 시스템을 말하지 않습니다; 일부는 트리거를 지원하지 않거나 SELECT 트리거를 지원하지 않습니다 (실행중인 SELECT 문을 기록해야합니까?). 데이터베이스에 당신의 DAL에서 로그인하는 경우 SQL
를 사용 DAL에서
로그인 잘하면 모든 통화 코드의 일부 중앙 조각을 통해 이동합니다. 그렇다면 코드 섹션에서 단일 로깅 방법을 추가 할 수 있습니다. 로그와 실제 데이터가 동기화되지 않도록 트랜잭션의 모든 호출을 데이터베이스로 래핑하고 싶을 것입니다. Log4Net
를 사용 DAL에서
로그인 당신은 그냥 간단하게 모든 데이터 액세스를 기록하는 log4net을 설정할 수 있습니다. Log4net은 로그 항목을 로그 파일에 기록 할뿐만 아니라 데이터베이스에도 기록 할 수 있습니다. 기존 코드에 log4net을 추가하는 것은 쉽고 구성도 비교적 쉽습니다.
테이블의 특정 열에 대해 동일한 작업을 수행했습니다. 약간의 트리거를 읽을 수 있습니다. 여기에 대한 약간의 정보를 읽을 수있는 두 개의 링크가 있습니다. http://www.sqlteam.com/article/an-introduction-to-triggers-part-i http://www.go4expert.com/forums /showthread.php?t=15510 –
Flaktron에 동의해야합니다. 데이터베이스 상호 작용만으로 로그해야하는 경우 SQL 트리거를 사용하는 것이 가장 신뢰할 수있는 감사 추적 수단입니다. Imho : o) –
이것은 모든 사용자가 자신의 사용자 이름으로 데이터베이스에 연결되어 있거나 2) 삽입, 업데이트 또는 삭제할 때마다 SQL 문에 사용자 이름이 포함되어있는 경우에만 작동합니다. 모든 웹 응용 프로그램 사용자 계정에 대해 단일 데이터베이스 사용자 계정을 통해 데이터베이스에 액세스하는 웹 응용 프로그램의 경우 트리거가 가장 쉬운 선택이 아닐 수 있습니다. – Thorin