SQLServerのストアドプロシージャーの更新日時を取得する方法です。
ストアドプロシージャーの更新日時を取得する
ここ数日間で変更されたSQLServer上にあるストアドプロシージャーの更新日付を調べる必要があったので、そんなことができないかと調査して見ました。
sys.objectsのmodify_dateを参照する
SQLServerではsys.objectsのmodify_dateを参照するとオブジェクトの更新日時がわかります。
今回は欲しいのはストアドプロシージャーの更新日時なので以下のSQLを実行すると
SELECT name ,type_desc ,create_date ,modify_date FROM sys.objects WHERE ( type_desc = 'SQL_STORED_PROCEDURE' OR type_desc = 'SQL_SCALAR_FUNCTION' OR type_desc = 'SQL_TABLE_VALUED_FUNCTION' ) ORDER BY modify_date DESC
SQLServer上にあるストアドプロシージャーの更新日時が取得できます。
WHEREに取得したい日時を指定すればピンポイントで取得することもできます。
実行結果
実行結果は
name | type_desc | create_date | modify_date |
---|---|---|---|
ストアド1 | SQL_STORED_PROCEDURE | 2017-04-01 12:00:00.000 | 2018-04-04 12:00:00.000 |
ストアド2 | SQL_SCALAR_FUNCTION | 2017-04-02 13:00:00.000 | 2018-04-03 13:00:00.000 |
ストアド3 | SQL_STORED_PROCEDURE | 2017-04-03 14:00:00.000 | 2018-04-02 14:00:00.000 |
ストアド4 | SQL_STORED_PROCEDURE | 2017-04-04 15:00:00.000 | 2018-04-01 15:00:00.000 |