주어진 테이블의 트리거가 다른 특정 테이블에 영향을 주는지 확인하는 방법이 있습니까?테이블이 모든 트리거의 영향을 받는지 확인하십시오.
내 실제 문제는 테이블에서 삭제되는 행이며 다른 테이블의 트리거에서 발생한다고 확신합니다. 이 "다른 테이블"(수백 개의 테이블이 있음)을 찾아야합니다.
미리 Thx!
감사합니다/Snedker
주어진 테이블의 트리거가 다른 특정 테이블에 영향을 주는지 확인하는 방법이 있습니까?테이블이 모든 트리거의 영향을 받는지 확인하십시오.
내 실제 문제는 테이블에서 삭제되는 행이며 다른 테이블의 트리거에서 발생한다고 확신합니다. 이 "다른 테이블"(수백 개의 테이블이 있음)을 찾아야합니다.
미리 Thx!
감사합니다/Snedker
이 여전히 '아무튼 경우
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에 따라 상황의 가장 아래쪽에 도달 할 수 있습니다.
감사합니다. 무리를 찾았습니다. –
RDBMS 및 버전을 명시하십시오. –
죄송합니다 - MSSQL 2008 R2 였으므로 다른 게시판이 나에게 잘 어울렸다! 감사합니다/Snedker –