2011-09-21 2 views
2

주어진 테이블의 트리거가 다른 특정 테이블에 영향을 주는지 확인하는 방법이 있습니까?테이블이 모든 트리거의 영향을 받는지 확인하십시오.

내 실제 문제는 테이블에서 삭제되는 행이며 다른 테이블의 트리거에서 발생한다고 확신합니다. 이 "다른 테이블"(수백 개의 테이블이 있음)을 찾아야합니다.

미리 Thx!

감사합니다/Snedker

+3

RDBMS 및 버전을 명시하십시오. –

+0

죄송합니다 - MSSQL 2008 R2 였으므로 다른 게시판이 나에게 잘 어울렸다! 감사합니다/Snedker –

답변

4

이 여전히 '아무튼 경우

SELECT * 
FROM sys.sql_modules 
WHERE definition LIKE '%DELETE%' AND definition LIKE '%your_table%' 

를 사용할 수 아무것도 찾을 수없는 경우 당신은

SELECT def, 
     t.* 
FROM sys.triggers t 
CROSS APPLY (SELECT OBJECT_DEFINITION(object_id)) C(def) 
WHERE def LIKE '%DELETE%' AND def LIKE '%your_table%' 

을 사용할 수 있습니다 당신은 검색 범위를 확장 할 쿼리를 응용 프로그램에서 보내고 있다고 생각하면 확장 이벤트를 사용하여 my answer here에 따라 상황의 가장 아래쪽에 도달 할 수 있습니다.

+0

감사합니다. 무리를 찾았습니다. –

관련 문제