DataBase/MSSQL
[MSSQL] 특정 Table을 사용하는 Procedure 조회하기
범데이
2024. 4. 13. 23:32
728x90
특정 테이블을 사용하는 모든 Stored Procedure를 찾는 일은 데이터베이스 유지 보수 및 의존성 분석에 중요하다.
SQL Server에서 특정 Table를 사용하는 Procedure를 검색해보자.
아래의 쿼리로 검색을 하면 된다.
SELECT A.name, B.name AS 'schema', create_date, modify_date
FROM sys.procedures A
INNER JOIN sys.schemas B ON A.schema_id = B.schema_id
WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%<TABLE_NAME>%'
실행하면 위의 <TABLE_NAME>에 준 텍스트가 포함된 모든 procedure 목록들이 출력된다.
(프로시저 이름과, 스키마명, 생성날짜와 업데이트된 날짜를 표시한다.)
이 말인 즉슨, Table명 뿐만 아니라 Procedure내에 구현된 모든 텍스트를 대상으로 검색하여, 해당되는 Procedure가 결과로 나타나게 된다.
(당연하게도, 프로시저 내 주석 처리된 텍스트도 포함되어 출력되니, 이를 참고하자.)
반응형