我在使用 SQL Server 進行開發換版的時候,有時候會想知道目前線上再跑的Table還有Stored Procedure到底最後修改時間是甚麼時後
我在使用 SQL Server 進行開發換版的時候,有時候會想知道目前線上再跑的Table還有Stored Procedure到底最後修改時間是甚麼時後
不過我發現MS SQL Management Studio 怎麼找不到這個項目可以看?
在物件總管中只找到了新增日期這個項目
不過我們可以在 sys.all_objects 找到我們要的資訊
使用下列語法
查詢 Table
select [name],create_date,modify_date FROM sys.all_objects where type_desc = 'USER_TABLE'
查詢Stored Procedure
select [name],create_date,modify_date FROM sys.all_objects where type_desc = 'SQL_STORED_PROCEDURE'
and substring([name],1,3) not in ('sp_','dt_','xp_')
這邊說明一下會過濾掉 sp_ , dt_ , xp_ 是因為他們 SQL Server 系統自己的Stored Procedure開頭
我曾經在一個工作環境中遭遇過他們很喜歡再寫Stored Procedure時使用 sp_開頭,因為覺得那樣剛好是縮寫
不過我個人是建議盡量避免與系統產生這種混淆現象,不然搞不清楚狀況的人還會以為那是系統語法呢
===========================這是簽名檔分隔線==============================
我沒有甚麼技術能力
不過卻希望在這邊跟大家分享自己遭遇的一些問題
希望大家有更好的方法可以跟我說!!
======================================================================