source

SQL Server Management Studio 2008에서 저장된 모든 프로시저를 검색하여 문자열 찾기

manysource 2023. 8. 18. 22:45

SQL Server Management Studio 2008에서 저장된 모든 프로시저를 검색하여 문자열 찾기

SQL Server Management Studio에 저장된 모든 프로시저 내에서 문자열을 검색할 수 있는 방법이 있습니까?

SELECT *
FROM sys.sql_modules
WHERE definition LIKE '%yourstring%'

RedGate의 SQL Search를 확인하십시오.Management Studio 플러그인 및 무료 다운로드입니다.지정된 데이터베이스 내에서 또는 전체 인스턴스에서 검색할 수 있습니다.

나는 항상 이것을 사용합니다;

SELECT Name
 FROM sys.procedures
 WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%SEARCHSTRING%'

저의 경우 특정 텍스트나 키워드를 검색할 때마다 스키마와 저장 프로시저의 이름을 얻으려고 했습니다.제가 사용하는 코드는 다음과 같습니다.

USE [your_DB_name];
GO
SELECT [Scehma]=schema_name(o.schema_id), o.Name 
FROM sys.sql_modules m
 INNER JOIN sys.objects o
ON o.object_id = m.object_id
WHERE m.definition like '%your keyword%'
GO

결과는 간단하며 다음과 같습니다.

----------------------------------------------
|    Schema    |    Name                     |
----------------------------------------------
|    dbo       |  stored_procedure_name      |
----------------------------------------------
...
and so on (if the keyword exists in more than one stored procedure)

언급URL : https://stackoverflow.com/questions/5406612/find-a-string-by-searching-all-stored-procs-in-sql-server-management-studio-2008