MSSQL 프로시저 내용 검색하기

프로시저 기반 프로그램 등 프로시저가 많을 때

전체 프로시저 내에서 검색하고 싶을 때 아래 명령을 통해 검색하여 찾을 수 있습니다.

DECLARE @SEARCH_TEXT	NVARCHAR(MAX) = '검색어'

SELECT A.NAME
  FROM SYSCOMMENTS A
        JOIN SYSOBJECTS B ON (A.ID = B.ID)
 WHERE B.TYPE = 'p'
   AND A.TEXT LIKE '%' + @SEARCH_TEXT + '%'

 

예를 들어 T_BOOK이라는 테이블이 사용된 프로시저를 찾고 싶다면

DECLARE @SEARCH_TEXT	NVARCHAR(MAX) = 'T_BOOK'

SELECT A.NAME
  FROM SYSCOMMENTS A
        JOIN SYSOBJECTS B ON (A.ID = B.ID)
 WHERE B.TYPE = 'p'
   AND A.TEXT LIKE '%' + @SEARCH_TEXT + '%'

 

테이블명뿐만 아니라, 원하는 텍스트 가 포함된 프로시저를 다 검색할 수 있습니다.

테이블이 수정되거나 마이그레이션 되는 경우

모든 프로시저를 찾아다니며 수정하지 않고 사용된 프로시저만 찾아 수정할 때 유용할 것 같습니다.