スポンサーリンク

【SQLServer】プロシージャの作成日付、更新日付取得(sys.objectsで取得)

SQLSERVERDB

はじめに

仕事でSQLServerを扱うことになり、プロシージャの更新日付を取得する必要があったので、メモにのこします。

sys.objectsとは

SQLServerには、個別に作るテーブルの他にSQLSever自体が管理しているsysユーザが所有している「sys.objects」というテーブルが存在します。

このテーブルには、SQLServerのオブジェクト(テーブル、プロシージャなど)の情報が登録されています。このテーブルからプロージャの更新日付を取得します。

プロシージャの更新日付取得SQL

SAなどのsysにアクセスできる権限ユーザで以下を実行。※現場によってはSAの使用を禁止しているとこともあるので、状況にあうユーザで実行してください。

SELECT
name   -- 名前
,type   -- タイプ:プロシージャは「P」
,create_date  -- 作成日付
,modify_Date  -- 更新日付 ※ALTERした日付
FROM sys.objects
WHERE type = 'P'
ORDER BY name

現在取得できるオブジェクトのタイプ

すべてのオブジェクトを作成していないので、タイプの一覧がわかりませんが以下でオブジェクトのタイプとタイプの説明を出力できます。

SELECT distinct
  type   -- タイプ
  ,type_desc  -- タイプ説明
FROM sys.objects
ORDER BY type

 

タイトルとURLをコピーしました