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가 결과로 나타나게 된다.
(당연하게도, 프로시저 내 주석 처리된 텍스트도 포함되어 출력되니, 이를 참고하자.)
반응형
'DataBase > MSSQL' 카테고리의 다른 글
[MSSQL] 특정 테이블 열을 참조하는 모든 외래키를 탐색하는 방법 (0) | 2024.07.13 |
---|---|
[MSSQL] 테이블 내 Auto Increment(SERIAL Number) 컬럼 만들기 (0) | 2024.06.02 |
[MSSQL] 컬럼 수정시 ”Saving changes is not permitted.” 에러가 뜰경우 (0) | 2024.04.13 |
[MSSQL] 대량의 Data를 DB에 삽입하는 방법 (0) | 2024.03.31 |
[MSSQL] MSSQL이란? (0) | 2023.05.21 |