剛好有朋友問到:想要知道資料庫是否有被修改,例如:預存程序何時被修改過?
筆者的建議是:
可以利用:sys.objects ,針對在資料庫內建立的每個使用者自訂結構描述範圍的物件,各包含一個資料列。
請參考以下的範例碼:
USE pubs GO -- 建立預存程序 CREATE PROC uspA1 AS SELECT '原始資料' GO -- SELECT * FROM sys.objects WHERE name='uspA1' -- 檢視預存程序的建立日期與修改日期,都是相同 SELECT name N'物件名稱', create_date N'建立日期',modify_date N'修改日期' FROM sys.objects WHERE name='uspA1' -- 修改預存程序的程式碼 ALTER PROC uspA1 AS SELECT '原始資料' SELECT '修改資料' GO -- 檢視預存程序的被修改日期,已經不同了 SELECT name N'物件名稱', create_date N'建立日期',modify_date N'修改日期' FROM sys.objects WHERE name='uspA1'
請參考下圖所示:檢視預存程序的被修改日期,已經不同了。
沒有留言:
張貼留言