2010-12-07 52 views
0

有沒有辦法來檢查誰是SQL Server 2008中更新給定過程的最後一個人或人員列表?是否有內置的實用程序命令,儀表板或第三方工具可以提供這種見解?在SSMS的數據庫節點上誰更新了存儲過程?

感謝

+1

你的sql服務器有單獨的用戶名嗎? – 2010-12-07 18:42:19

+0

我確信這個問題是爲了解決已經發生的問題,@Will A給出了一個針對近期變化的解決方案,但是我已經看到了下面的實現,它允許架構更改日誌記錄在更長的時間內持久化:http ://www.sqlteam.com/article/using-ddl-triggers-in-sql-server-2005-to-capture-schema-changes – 2010-12-07 18:57:30

回答

1

單擊鼠標右鍵,選擇報告>標準報告>架構更改歷史。這會給你一個更改列表 - 但是,如果最近沒有進行更改,你可能無法在此報告中找到它 - 它不會顯示「所有更改,永遠」!

0

你的問題表明你有幾個問題需要解決。

首先,您應該使用源代碼管理並將所有更改存儲在其中。然後你可以看到誰做了什麼改變,並能夠恢復到以前的版本。

接下來,如果在生產中發生此問題,您需要將生產權限限制爲只有dba和人員分配配置管理角色(配置pepeople,dbas或管理員)。應用程序開發人員不應該有任何權利來創建或更新prod上的對象。

您還可以設置觸發器來監視和記錄數據庫的所有更改。查找DDL觸發器。

@WA會給你一個短期的解決方案,但如果改變不是最近的話,它可能對你所需要的研究是無效的。