티스토리 뷰

반응형

프로시저 내부의 문자열을 검색하는 방법은 과거 포스팅도 했듯 sys.syscomments로 간단하게 할 수 있다.

 

https://kaiaphas.tistory.com/55

 

[MS-SQL] 프로시저 문자열 검색

수 많은 프로시저들 중에서 테이블이나 프로시저를 검색할 때 사용하는 SELECT 문이다. 이것말고도 몇가지 방법이 더 있긴 한데... 그냥 이게 가장 간단해서 애용하는 방법이다. SELECT DISTINCT OBJECT_N

kaiaphas.tistory.com

하지만...

 

그렇다고 한다. 뭐 어쨌든 기능이 삭제되니 아래 sql_modules 로 변경하라는 뜻 같다.

하여 아래 내용으로 다시 포스팅 한다.


문자열 검색
SELECT 
sm.object_id
, OBJECT_NAME(sm.object_id) AS object_name
, o.type
, o.type_desc
, sm.definition  

FROM sys.sql_modules AS sm  
JOIN sys.objects AS o ON sm.object_id = o.object_id  

WHERE sm.definition LIKE '%검색문자열%'

ORDER BY o.type;  

위와 같이 검색하면 된다.

objects 를 조인하여 type 을 가져오는데 type 의 설명은 type_desc 에 보여지며 정리하자면 아래와 같다.

 

AF = 집계 함수(CLR)
C = CHECK 제약 조건
D = DEFAULT(제약 조건 또는 독립 실행형)
F = FOREIGN KEY 제약 조건
FN = SQL 스칼라 함수
FS = 어셈블리(CLR) 스칼라 함수
FT = 어셈블리(CLR) 테이블 반환 함수
IF = SQL 인라인 테이블 반환 함수
IT = 내부 테이블
P = SQL 저장 프로시저
PC = 어셈블리(CLR) 저장 프로시저
PG = 계획 지침
PK = PRIMARY KEY 제약 조건
R = 규칙 (이전 스타일, 독립 실행형)
RF = 복제 필터 프로시저
S = 시스템 기본 테이블
SN = 동의어
SO = 시퀀스 개체
U = 테이블(사용자 정의)
V = 뷰
EC = 제약 조건

 

적용 대상: SQL Server 2012(11.x) 이상
SQ = 서비스 큐
TA = 어셈블리(CLR) DML 트리거
TF = SQL 테이블 반환 함수
TR = SQL DML 트리거
TT = 테이블 유형
UQ = UNIQUE 제약 조건
X = 확장 저장 프로시저

 

type 의 종류는 빨간색으로 표시한 것이 대부분 조회된다.

 

 

 

출처 : https://docs.microsoft.com/ko-kr/sql/relational-databases/system-compatibility-views/sys-syscomments-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15

 

sys.sys주석 (Transact-sql) - SQL Server

sys.syscomments(Transact-SQL)

docs.microsoft.com

https://docs.microsoft.com/ko-kr/sql/relational-databases/system-catalog-views/sys-sql-modules-transact-sql?view=sql-server-ver15

 

sys.sql_modules (Transact-sql) - SQL Server

sys.sql_modules(Transact-SQL)

docs.microsoft.com

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31