구성 테이블의 값을 수정하는 응용 프로그램이나 SP는 무엇입니까? 책임이있는 앱을 격리했다고 생각했지만 이러한 특정 값은 계속 false로 수정하면 계속 유지됩니다.수정중인 항목을 확인하기 위해 데이터베이스 열보기
1
A
답변
5
첫째, 로깅 테이블 생성 :
CREATE TABLE modlog(
datestamp smalldatetime,
username varchar(255) NOT NULL DEFAULT SYSTEM_USER
);
이 그런 다음 테이블에 UPDATE 트리거를 만듭니다
CREATE TRIGGER mytable_mods ON mytable FOR UPDATE AS
INSERT INTO modlog(smalldatetime) VALUES (GETDATE());
그냥 어떤 사용자하는 테이블을 업데이트하고 파악하기 위해 modlog 테이블에 엿을, 그리고 언제. 당신은 공상을 얻을 수 있고 특정 필드가 업데이트되는 것을 기록 할 수 있습니다.
또 다른 접근법은 SQL Server 프로파일 러에서 추적을 설정하고, 그 테이블에서 업데이트 만 반환하도록 무언가를 필터링하고, 무언가가 발생할 때까지 열린 상태로 유지하는 것입니다.
경우 응용 프로그램은 APP_NAME()를 사용할 수 있습니다, 자신의 연결 문자열에 ApplicationName을 매개 변수를 포함 대신 별도의 탐정 일을 제거, 응용 프로그램 이름을 기록합니다 SYSTEM_USER, 의. 사용자를 알면 여전히 유용 할 수 있으므로 업데이트를 실행하기 위해 수행중인 작업을 파악할 수 있습니다.
1
업데이트를 롤백 할 트리거를 만듭니다. 앱이 오류가 발생할 때까지 기다립니다. 그것은 아주 간단한 트리거가 될 수 있습니다 제공
CREATE TRIGGER BugOffRogueProgram
ON MyConfigTable
FOR UPDATE
AS
BEGIN
ROLLBACK TRAN
END
0
대답은 지금까지 그 자리에서 절대적이다 - 그 간단한 맛보기로 2005 년
그냥 SQL 서버에서 그것을 할 수있는 방법이있다 : SQL Server 2008에는 Change Data Capture이라는 새로운 기능이있어 트리거를 직접 작성하고 테이블을 직접 업데이트 할 필요없이 이처럼 정확한 시나리오를 지원합니다. 아주 편리!
마크
관련 문제
- 1. 사용자 정의 열보기
- 2. emacs에서 구분 된 열보기
- 3. 수정중인 목록을 반복하는 방법은 무엇입니까?
- 4. MySQL 데이터베이스 데이터가 존재하지 않는지 확인하기
- 5. PHP - 파일 유형을 확인하기 위해 $ _FILES를 반복합니다.
- 6. 런타임에 오류를 확인하기 위해 코드를 진단하는 도구
- 7. Drools가 DRL에서 사실을 확인하기 위해 WorkingMemory를 얻습니다.
- 8. mysql이 엔트리가 존재하는지 확인하기 위해 선택한다.
- 9. xml이 atom인지 rss인지 확인하기 위해 PHP를 사용합니다.
- 10. 코드를 확인하기 위해 SVN에 문제가 발생했습니다.
- 11. 내 수학이 정확한지 확인하기 위해 누군가가 필요합니다.
- 12. 음수를 확인하기 위해 jquery 플러그인을 확장하십시오.
- 13. 버튼 스타일을 확인하기 위해 GetWindowlong을 사용합니다.
- 14. 사용자 명을 확인하기 위해 하나의 RegEx를 생성하십시오.
- 15. ListView에 데이터베이스 - 항목을 필터링하십시오.
- 16. Access에서 데이터베이스 항목을 자동으로 추가
- 17. MySQL의 제한 데이터베이스 항목을 레일에
- 18. SQL 데이터베이스 항목을 연결하는 방법?
- 19. 레일은 GET으로 데이터베이스 항목을 만듭니다?
- 20. 데이터베이스 항목을 커서에 입력하는 방법
- 21. 로깅을 위해 데이터베이스 사용
- 22. 리퍼러 확인하기
- 23. 태그를 확인하기 위해 개미를 사용하는 방법 : 자바 소스 (TODO 등)
- 24. 내가 성능에 대해 확인하기 위해 vb.net 에 writen되는 Windows 서비스를
- 25. 게시 된 파일 확장명을 확인하기 위해 MVC AttributeFilter를 만드는 방법
- 26. 실제 전자 메일 주소를 확인하기 위해 핑 (ping)
- 27. 방문자가 특정 사이트에서 왔는지 확인하기 위해 조건문을 작성하려면 어떻게해야합니까?
- 28. Spring MVC에서 동작을 확인하기 위해 권장되는 패턴은 무엇입니까?
- 29. 변수가 정적인지 확인하기 위해 정적 어설 션을 추가하려면 어떻게합니까?
- 30. 올바른 주소를 확인하기 위해 Intelligent search의 소프트웨어를 사용한 사람이 있습니까?
사용자 이름을 식별 할 수 있습니까? –
@ richard, 사용자 이름을 특정 응용 프로그램과 연관시킬 수 있으면이 방법이 효과적입니다. –
예, 업데이트를 수행하는 SQL Server 세션과 관련된 사용자 이름을 식별합니다. 사용자와 시간을 알고 있으면 어떤 앱이 책임이 있는지 알 수있을 것입니다. – richardtallent