2014-09-06 3 views
0

SQL Server 2005 데이터베이스에서 트리거가 켜지거나 꺼져 있는지 확인하고 싶습니다. 특정 열에 변경이있을 때마다 새 테이블에 항목을 삽입하는 트리거를 만들었습니다. 그러나 고객으로부터 로그 테이블의 모든 업데이트 된 레코드에 대한 로그가 유지되지 않는다는 불만을 받았습니다.트리거가 켜지거나 꺼져있을 때 로그를 확인하는 방법

일부 레코드를 업데이트하는 동안 트리거가 해제되어 로그 테이블에 기록되지 않았을 수 있다고 생각됩니다.

그래서 트리거가 켜지거나 꺼지는 로그 레코드를 보는 방법은 무엇입니까?

미리 감사드립니다.

답변

1

찾고 계신 것이 분명하지 않습니다.

언제든지 트리거가 켜져 있는지 여부를 확인할 수 있습니까?

SELECT is_disabled 
FROM sys.triggers 
WHERE name = 'your-trigger-name-here' 

주어진 트리거가 비활성화 된 경우 추적하려면, 당신은 ALTER_TRIGGER 이벤트를 잡아 주어진 트리거가 비활성화되었을 때 사람의 메모를 만드는 DDL trigger을 쓸 수있다 :이 경우,이 문을 사용 .

+0

답변 해 주셔서 감사합니다. 그러나 쿼리는 현재 트리거 상태를 반환합니다. 날짜 시간과 함께 트리거가 켜지거나 꺼질 때 전체 로그를보고 싶습니다. 예 : 9 월 5 일에 트리거를 만들었고 7 번에서 꺼졌고 8 번에 돌아 왔는데 SQL Server는이 트리거 상태 변경에 대한 전체 로그 레코드를 표시해야합니다. – Rahul

+0

@Rahul : 내 반응의 두 번째 부분에서 언급 한 내용입니다.이 경우 DDL 트리거를 설정하여 해당 정보를 캡처 한 다음 사용해야합니다. –

+0

감사합니다. 미래의 항목이지만 트리거 상태의 이전 변경 사항을 추적 할 수있는 방법이 있습니까? – Rahul

관련 문제