DBA

개인 학습, 작업 기록용입니다. 올바르지 않은 정보가 있다면 댓글주시면 감사하겠습니다!

DATABASE/MSSQL

[MSSQL] 전체 데이터베이스에서 명령문 수행 / SP_MSFOREACHDB

DBnA 2023. 5. 15. 11:12

전체 DB 대상으로 오브젝트나 db정보 등을 조회할 때 
db별 loop를 돌며 조회하는 방식으로 작업을 했었습니다.
https://bintech.tistory.com/4

 

[MSSQL] 반복문을 통한 특정 단어 포함한 테이블 조회, 특정 테이블을 사용하는 프로시저 조회

가끔 업무를 진행하다보면 mssql 서버 내 전체 DB 대상으로 특정단어를 포함하고 있는 테이블이나 특정 테이블을 사용하는 프로시저를 조회할 때가 많습니다. 매번 DB 연결을 변경하며 INFORMATION_SCH

bintech.tistory.com

이렇게 복잡하게 사용하고 있었는데

mssql 시스템 프로시저로 간단하게 조회할 수 있는 방법을 알게 되어 공유합니다.


전체  DB를 대상으로 해당 명령문을 수행하는 시스템 프로시저입니다.

MASTER..SP_MSFOREACHDB

 

 

EXEC MASTER..SP_MSFOREACHDB '

USE [?]

BEGIN

/**********************실행할 명령문 입력*************************/
--특정 문구 포함하는 전체 DB 프로시저 조회
select name as proc_nm
	from syscomments c with(nolock)
					  inner join sysobjects o with(nolock) on o.id = c.id
					where text like ''%tb_gr%''

/****************************************************************/
END

'