반응형
안녕하세요 투자하는 개발자 투개자입니다.
오늘은 특정 단어가 포함된 프로시져를 찾는 쿼리에 대해 알아보겠습니다.
데이터베이스를 관리하다보면 프로시져, 트리거, 인덱스 등 쿼리, DB성능을 향상시키기 위해 작성하곤 합니다.
이때 수많은 프로시져를 생성하다 보면 원하는 프로시져를 깜박하거나, 급히 수정해야할 때, 해당 프로시져를 찾는 방법이있다면
빠르게 찾아 update할 수 있습니다.
1. SYSCOMMENTS 테이블 활용
프로시져를 조회할 때, 시스템 테이블을 활용할 텐데 저희가 활용할 뷰 테이블은 SYSCOMMENTS 테이블입니다.
SELECT * FROM SYS.syscomments WITH(NOLOCK) | cs |
참고로 WITH(NOLOCK)을 함께 쳐주는 이유는 MSSQL은 기본적으로 공유잠금이 걸리는데 이걸 풀어주기 위해 작성합니다.
공유잠금에 대한 글을 확인해주세요~
https://in-harvey-it.tistory.com/17
2. 조건을 줘서 LIKE에 특정 단어 입력
SELECT TEXT FROM SYS.syscomments WITH(NOLOCK) WHERE OBJECTPROPERTY(id, 'IsProcedure') = 1 AND text LIKE '%특정단어입력%' OPTION (MAXDOP 1) | cs |
이렇게 쿼리를 작성하면 해당 쿼리에 대한 전체 Text가 나옵니다. 그곳에서 프로시져 이름을 얻고 해당 프로시져를 ALTER하시면 됩니다.
반응형
'DB > MSSQL (SQLSERVER)' 카테고리의 다른 글
[MSSQL]SP_SPACEUSED로 row수 빠르게 조회하자! - MSSQL행수세는방법 (0) | 2020.07.29 |
---|---|
[MSSQL] WITH(NOLOCK)이란... (0) | 2020.07.28 |
[MSSQL] MERGE문 작성 방법 및 응용 (0) | 2020.07.27 |
MSSQL 이중화구성 Replication, Log Shipping, Mirroring, Cluster, Always On 방법! (0) | 2020.07.21 |
[MSSQL]테이블 별 ROW 사이즈 추출 - 테이블 별 할당 데이터 사이즈출력 (0) | 2020.07.16 |