출처 : http://www.sqler.com/318666

 


2013/02/15 - [프로그램 자료/MS-SQL] - 모든 테이블에서 속성 칼럼 Column 열 이름 검색


2013/02/15 - [프로그램 자료/MS-SQL] - DB에서 모든 프로시져, 뷰, 테이블, 스칼라 함수 내 쿼리 검색 Procedure 검색 프로시저, 뷰, 테이블, 스칼라 함수 쿼리 내 문구 찾기 Searching Query in Procedure




USE 디비명

1. Schema(스키마) 에서 가져오는 방법

SELECT       ROUTINE_NAME

FROM         INFORMATION_SCHEMA.ROUTINES

WHERE        ROUTINE_TYPE='PROCEDURE'

                    AND ROUTINE_DEFINITION LIKE '%검색어%'

ORDER BY     ROUTINE_NAME;

 

2. Comments 에서 가져오는 방법

SELECT       DISTINCT A.NAME

FROM         dbo.SysObjects A JOIN dbo.SysComments B ON A.ID = B.ID

WHERE        A.TYPE = 'P' AND B.TEXT LIKE '%검색어%'

ORDER BY     A.NAME;

3. Comments 에서 가져오는 방법

/*

        P : 프로시저

        V :

        U : 테이블

        FN : 스칼라 반환 함수

        TR : 트리거

*/

 

SELECT       DISTINCT A.type, A.NAME, b.definition

FROM         sys.SysObjects A JOIN sys.sql_modules B ON A.ID = B.object_id

WHERE        A.TYPE in( 'P', 'V', 'U', 'FN', 'TR', 'TF' ) AND B.definition LIKE '%검색어%'

ORDER BY     A.type, A.NAME;

 

 

 




à DISTINCT   이유는, 해당 Procedure 안에 같은 단어가 여러  나올경우,

결과가 여러  나오기 때문입니다.

 

참고로 1.번 방법은 VARCHAR(4000) 이상의 크기를 가진 Procedure는 찾아내지 못합니다.


Posted by motolies
,