SQL Serverのストアドのソースを検索する。

information_schema.routinesのROUTINE_NAMEがストアド名、ROUTINE_DEFINITIONがストアドのソース

SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM information_schema.routines
WHERE ROUTINE_DEFINITION LIKE '%キーワード%'
ORDER BY ROUTINE_NAME

  • 追記

上記のROUTINE_DEFINITIONはnvarchar(4000)のデータ型なのでソースの中身を全て検索できない。

そのため以下のほうが確実(ビューのソールも検索される)

SELECT *
FROM sys.sql_modules
WHERE definition LIKE '%キーワード%'

ストアドのみのソース検索は以下のように

SELECT
     b.name
     ,a.definition
     ,b.create_date
     ,b.modify_date
FROM sys.sql_modules a
INNER JOIN sys.objects b
ON a.object_id = b.object_id AND b.type='P'
WHERE
     definition like '%キーワード%'