使用SQL Server 2005我想查看某個過程何時被修改。有了這個查詢我得到的最後修改日期:查看存儲過程最後一次修改/更改的時間?
SELECT name, create_date, modify_date
FROM sys.objects
WHERE name = 'name_of_proc'
我需要得到它時之前或最好所有修改的列表被修改。那可能嗎?
使用SQL Server 2005我想查看某個過程何時被修改。有了這個查詢我得到的最後修改日期:查看存儲過程最後一次修改/更改的時間?
SELECT name, create_date, modify_date
FROM sys.objects
WHERE name = 'name_of_proc'
我需要得到它時之前或最好所有修改的列表被修改。那可能嗎?
您可以嘗試SQL Server Management Studio中的「架構更改歷史記錄」報告。報告 - -
數據庫右鍵單擊標準報告 - 架構更改歷史
IIRC,這依賴於默認跟蹤。如果是這樣,你的歷史受到你有多少文件的限制。 – 2012-02-06 13:06:58
不,不可能。對於抽象案例,SQL Server並沒有將所有DML操作的歷史保存在內存中,一萬個管理員中的一個想要在一年內查看一次。
這就是我的想法......無論如何感謝 – 2012-02-06 08:08:12
你總是可以設立CREATE_PROCEUDURE和ALTER_PROCEDURE DDL觸發器和存儲在一個表中的結果。如果您捕獲實際的DDL運行,則它具有充當實際過程的存檔的優點。也就是說,如果您需要將其恢復到以前的版本,則知道它從哪個版本變爲特別有用。
這是如何創建DDL觸發器來記錄更改 但是在此之前,您需要創建一個表並保存所有現有的存儲過程http://www.mssqltips.com/sqlservertip/2085/sql-server-ddl-觸發對跟蹤所有數據庫更改/ – RAY 2014-09-26 02:43:26
您有[源代碼管理](http://stackoverflow.com/a/1597085/27535)或http://stackoverflow.com/a/4524616/27535? – gbn 2012-02-06 08:03:03