복붙노트

[SQL] SQL Server의 감사 테이블을 구현하기위한 제안?

SQL

SQL Server의 감사 테이블을 구현하기위한 제안?

내가 과거에 사용한 적이있는 간단한 방법은 기본적으로 그냥 그 구조 거울을 내가 감사 할 일 두 번째 테이블을 생성 한 다음 기본 테이블에서 갱신 / 삭제 트리거를 작성한다. 기록 삭제 / 업데이트하기 전에, 현재 상태는 트리거를 통해 감사 테이블에 저장됩니다.

효과적인 반면, 감사 테이블의 데이터는하지의 오프보고 가장 유용하거나 간단합니다. 사람이 감사 데이터 변경을위한 더 나은 방법이 있는지 궁금하네요?

이 이러한 기록의 너무 많은 업데이트 할 수 있지만,이 모든 변경 사항에 대한보고 쉽게 감사하고 있다는 고객에게 중요하다, 그래서 그것은 매우 중요한 정보이다해서는 안된다.

해결법

  1. ==============================

    1.얼마나 쓰기 대 읽기이 테이블의 (들)이 예상 하는가?

    얼마나 쓰기 대 읽기이 테이블의 (들)이 예상 하는가?

    나는 테이블, 열,에 OldValue, NewValue로, 사용자 및 ChangeDateTime에 대한 열이있는, 하나의 감사 테이블을 사용했습니다 - DB를 다른 어떤 변경 작업에 대한 일반적인만큼, 많은 양의 데이터가 해당 테이블, 보고서에 기록되었다 동안 데이터에 그들이 오늘의 저 사용 기간에 실행 될 수 있다는 스파 스 충분했다.

    추가 : 데이터 대보고의 양이 문제가되는 경우, 감사 테이블은 사용자가 자신의 일을에서 마스터 서버를 늦추지 않고 필요할 때마다 보고서를 실행할 수 있도록 읽기 전용 데이터베이스 서버에 복제 할 수 있습니다.

  2. ==============================

    2.우리는이 두 테이블 디자인을 사용하고 있습니다.

    우리는이 두 테이블 디자인을 사용하고 있습니다.

    한 테이블의 트랜잭션에 대한 데이터 보유 (데이터베이스, 테이블 이름, 스키마, 열, 응용 프로그램을 그 트리거 거래, 로그인에 대한 호스트 이름이 시작 거래, 날짜, 영향을받는 행과 몇 개의 수).

    두 번째 테이블은 필요하고 기존 / 새로운 가치에 대해보고하는 경우 우리가 변경 사항을 취소 할 수 있도록 변경 데이터를 저장하는 데 사용됩니다.

    또 다른 옵션은 SQL Server의이 같은 ApexSQL 감사 또는 변경 데이터 캡처 기능에 대해 타사 도구를 사용하는 것입니다.

  3. ==============================

    3.나는이 두 링크가 유용하다고 :

    나는이 두 링크가 유용하다고 :

    CLR 및 단일 감사 테이블을 사용. SQL 2005 CLR와 일반 감사 트리거를 만들기

    각 테이블 사용 트리거 및 별도의 감사 테이블은 감사하고. 어떻게 SQL Server 데이터에 나는 감사 변경합니까?

  4. ==============================

    4.어떤 내장 된 감사 패키지가 있습니까? 오라클은 심지어 감사를 보내는 SQL을 수정하는 모든 나쁜 사람의 접근 외부에 별도의 서버로 오프 변경하는 좋은 패키지를 가지고있다.

    어떤 내장 된 감사 패키지가 있습니까? 오라클은 심지어 감사를 보내는 SQL을 수정하는 모든 나쁜 사람의 접근 외부에 별도의 서버로 오프 변경하는 좋은 패키지를 가지고있다.

    이들의 예는 굉장합니다 ... 그것은 어떻게 감사 테이블을 수정하는 사람에 대한 경고로 보여줍니다.

  5. ==============================

    5.당신이 필요위한 OmniAudit 좋은 솔루션이 될 수 있습니다. 나는 내 자신의 감사 루틴을 작성하는 아주 행복 해요 때문에 전에 사용한 적이 있지만, 좋은 소리.

    당신이 필요위한 OmniAudit 좋은 솔루션이 될 수 있습니다. 나는 내 자신의 감사 루틴을 작성하는 아주 행복 해요 때문에 전에 사용한 적이 있지만, 좋은 소리.

  6. ==============================

    6.나는 그의 대답에 그렉에 의해 기술 된 방법을 사용하고 테이블의 트리거에서 호출 저장 프로 시저와 감사 테이블을 채 웁니다.

    나는 그의 대답에 그렉에 의해 기술 된 방법을 사용하고 테이블의 트리거에서 호출 저장 프로 시저와 감사 테이블을 채 웁니다.

  7. from https://stackoverflow.com/questions/3823/suggestions-for-implementing-audit-tables-in-sql-server by cc-by-sa and MIT license