如何管理SQL Server的資料庫對象
在專案的開發與維護過程中,如何管理SQL Server的資料庫物件。
例如怎麼記錄開發人員修改表格結構,儲存過程,函數,檢視等。
提供幾個思路,有些沒有實踐過哈:
1.VSS等sourcecode管理工具.
目前普遍採用的方式,和代碼管理一致,可以控製版本變更,內容變更,可以回滾等等.
所有的資料庫變更必須嚴格按照先更新SourceCode,然後再更新資料庫。
缺點:無法記錄直接在資料庫上做的修改.可以輔助使用者登陸、修改等必要的安全權限設定來配合使用避免.
2.SQL 2005以後的DDL觸發器.
在資料庫建立一個表,使用DDL觸發器來記錄使用者資料庫的操作的變更.
所有使用者的變更都會記錄到資料庫中.
缺點:對於頻繁更新的情況下,DDL觸發器可能會影響資料庫的效能.可以選擇資料庫空閒時段並透過批次變更來降低DDL觸發器對資料庫的效能影響.