[SQL Server] Stored Procedure(SP)/VIEW/FUNCTIONの内容を検索・作成日・修正日取得する方法

inno
2014-01-24 18:20 2675 0
Stored Procedure(SP)/VIEW/FUNCTIONの内容を検索・作成日・修正日取得する方法
ストアドプロシージャ/ビュー/関数の内容を検索・作成日・修正日取得する方法


ストアドプロシージャ/ビュー/関数の内容を検索する時が個人的には結構あるので共有したいと思います。
実行するSQLは下記のとおりです。

SELECT
 A.name
, A.type_desc
, A.create_date
, A.modify_date
, B.definition
FROM sys.objects AS A 
JOIN sys.sql_modules AS B
ON A.object_id = B.object_id
WHERE A.schema_id = 1 AND type = '[ObjectType]
and definition  like '%[検索語]%'

ここで[ObjectType]と[検索語]を設定する必要があります。
[ObjectType]はStored Procedure/VIEW/FUNCTIONの中でどれを検索するか設定します。

[ObjectType]
P : Stored Procedure
V : VIEW
FN : FUNCTION

例えば、ストアドプロシージャの中でTableData1と言うテーブルを使っているストアドプロシージャを検索したい時は下記のようにします。

SELECT
 A.name
, A.type_desc
, A.create_date
, A.modify_date
, B.definition
FROM sys.objects AS A 
JOIN sys.sql_modules AS B
ON A.object_id = B.object_id
WHERE A.schema_id = 1 AND type = 'P
and definition  like '%TableData1%'

これと同じ方法でView / Functionも検索できます。

各オブジェクトの作成日、修正日は上記のSQLから「A.create_date」と「A.modify_date」カラムになります。
ご不明な点、ご質問がありましたらQ&A掲示板に投稿してください。

コメント