특정 ms SQL 2005 테이블 (asp.net 웹 응용 프로그램, C# Windows 서비스, 전자 메일 구문 분석기를 데이터베이스 자동화 도구로 업데이트하는 여러 응용 프로그램이 있습니다 SQL + VB)를 사용합니다.) 감사 정보를 테이블에 저장하려고합니다. 예 : ModifiedBy, ModifiedDate 여기서 ModifiedBy = 레코드를 갱신하는 어플리케이션의 이름.여러 응용 프로그램에서 공유하는 SQL 데이터베이스에 감사 및 아카이브 정보를 생성하는 가장 쉬운 방법
또한 정보를 테이블에 보관하고 싶습니다. 특정 레코드를 업데이트 할 때 myTable_Archive 테이블에 현재 레코드를 저장하고 날짜로 스탬프 처리하고 이에 따라 myTable의 현재 레코드를 업데이트합니다.
기존 응용 프로그램에 미치는 영향을 최소화하면서이를 유지 보수하고 테스트 할 수있는 가장 좋은 방법은 무엇입니까? 아니면 누군가가 더 나은 경로를 제안 할 수 있습니까? 저장 프로 시저, C# 공유 라이브러리 (nhibernate/ado.net 등 사용) 또는 ms sql 2005 기본 제공 기능 (예를 들어)이 있으면 호출합니다.
감사를 통해 이름을 얻을 수 있습니다, 그것은 가장 가능성이 내 시나리오를 해결할 작은 변화의 제안입니다. Trigger에서 호출하는 응용 프로그램이나 프로세스를 확인하여 ModifiedBy (응용 프로그램 이름) 필드에서 사용할 수있는 방법이 있습니까? –
@Luke Hutton - 연결 문자열에이 정보가 포함되어 있으면 시스템 테이블에서 정보를 검색 할 수 있어야합니다. 덕분에 @ 콘래드 Frix – Oded
에서 답변을 참조하십시오,이 경로를 내려갈 것입니다, 트리거 주위에 몇 가지 테스트를 만들 것입니다. –