2009-10-18 11 views
0

내 DB에 로그를 작성해야 프로그램의 모든 작업을 기록해야합니다.SQL Server에서 관계형 데이터에 로그온하는 방법은 무엇입니까?

예를 들어 작업을 적용한 테이블과 행이있는 경우 추가 데이터를 저장하고 싶습니다. 즉, 로그를 동적으로 유지하고 데이터베이스의 다른 테이블을 참조 할 수 있어야합니다.

문제는 모든 테이블을이 로그와 연관시키는 방법을 모르겠다는 것입니다.

아이디어가 있으십니까?

1) 모든 DB 접근

2) 기록 작업을 수행하기 위해 DB에 각 테이블에 트리거를 추가에 대한 로깅을 추가 할 수있는 프로그램을 수정

답변

1

현재 두 가지 선택이있다.

+0

내 질문을 사용으로 기업을 유혹하기에 충분 수도 있지 어떻게입니다 로깅을 트리거해야합니다, 내 질문은 함께 첨부 된 테이블의 데이터를 가져 오는 동안 오래 저장하는 방법입니다. – Shimmy

+0

나는 아직도 당신의 질문을 이해하지 못합니다. "long store"는 나에게 의미가 없다. 아마 그것은 언어 문제입니다. 첨부 된 테이블에서 어떤 데이터를 저장 하시겠습니까? "부착 된 테이블"은 무엇을 의미합니까? 무엇에 붙어 있니? – dar7yl

+0

이 붙어있다. 예를 들어 내가 5 개의 테이블을 가지고있어 로깅에 참여 시키길 원한다. 각 로그 레코드가이 로그 - 엔트리와 공통으로 가지고있는 테이블 이름과 행 ID를 제공 할 수 있기를 바란다. – Shimmy

0

모든 테이블에 하나의 로깅 테이블을 사용하지 않는 것이 좋습니다. 당신이 그렇게한다면 (모든 삽입, 업데이트 및 모든 테이블 woudl이 나쁜 생각을 치고있다 삭제) 할 잠금 문제가됩니다. 감사하려는 각 테이블에 대한 테이블을 작성하십시오. 테이블에는 여러 가지 가능한 디자인이 있지만 일반적으로 이전 vlaue, 새 값, 변경된 날짜 및 변경을 수행 한 사용자의 변형이 포함됩니다.

그런 다음 각 테이블에 트리거를 작성하여 변경 사항을 기록하십시오.

내가 SQL 서버 2008는 감사를 설정하는 체계적인 방법이 알고,이 매뉴얼 감사보다 설정하기 쉬울 것 및 2008 년

관련 문제