SQL 서버 2000:레코드가 마지막으로 수정된 시기를 알 수 있는 방법이 있나요?

StackOverflow https://stackoverflow.com/questions/2809

  •  08-06-2019
  •  | 
  •  

문제

테이블에 마지막 업데이트된 필드가 없으며 기존 데이터가 업데이트된 시기를 알아야 합니다.따라서 마지막 업데이트 필드를 추가해도 (내가 아는 한) 도움이 되지 않습니다.

도움이 되었습니까?

해결책

SQL Server 2000은 이 정보를 추적하지 않습니다.

데이터베이스 모델에 따라 이 날짜를 추측하는 창의적이고 모호한 방법이 있을 수 있습니다.그러나 다른 데이터와 관련이 없는 하나의 테이블에 대해 이야기하고 있다면 운이 좋지 않습니다.

다른 팁

일종의 감사 메커니즘 없이는 변경 사항을 확인할 수 없습니다.수집되지 않은 정보를 추출하려고 합니다.레코드가 추가되거나 편집된 시기만 알아야 하는 경우 레코드가 업데이트될 때 트리거를 통해 업데이트되는 날짜/시간 필드를 추가하는 것이 가장 간단한 선택이 될 것입니다.

레코드가 삭제된 시기도 추적해야 하는 경우 감사 테이블을 사용하고 레코드가 추가, 편집 또는 삭제될 때 행이 있는 트리거에서 테이블을 채우는 것이 좋습니다.

로그 뷰어를 사용해 볼 수도 있습니다.이를 통해 기본적으로 트랜잭션 로그의 트랜잭션을 볼 수 있으므로 문제의 행을 업데이트한 문을 찾을 수 있습니다.나는 이것을 프로덕션 수준 감사 전략으로 권장하지는 않지만 긴급 상황에서는 유용하다는 것을 알았습니다.

여기 제가 사용한 것이 있습니다.무료이며 SQL Server 2000에서만 작동합니다.

http://www.red-gate.com/products/SQL_Log_Rescue/index.htm

해당 테이블에 타임스탬프 필드를 추가하고 업데이트 트리거를 사용하여 해당 타임스탬프 값을 업데이트할 수 있습니다.

옴니감사 전체 데이터베이스에 대한 감사를 구현하는 상용 패키지입니다.

무료 방법은 실행될 때 감사 테이블에 항목을 추가하는 각 테이블에 대한 트리거를 작성하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top