2016-01-22 26 views
1

嗨,我是在這種情況下,我是一個DBA,每當我改變一個非空字段添加默認值的表,審計觸發器將我的用戶名寫在所有地方(當然,可憐的傢伙只是在做他的工作)。問題是我們的開發人員不喜歡在審計表上有我的名字,所以我需要找到一種方法來解決這種情況......也許用if條件來改變觸發器?創建第二個,我每次激活我做這種操作?更好的想法?審覈觸發器,不爲更改表,但只爲dba用戶

+0

你是否在用戶活動時這樣做 - 這似乎是一個壞主意?如果不是,你不能只在你做這個時禁用觸發器嗎? –

回答

0

第一個響應是用if條件更改觸發器。如果這些權力不關心列的可用性改變,那麼他們就不應該被審計。

但是,我不太喜歡這種解決方案。審計歷史記錄表存在原因。也許還有其他事情正在發生,比如發生變化時發出通知。如果是這樣,通知的邏輯應該改變,而不是審計表。

這與編譯代碼時的警告和錯誤類似。更改NULL -ability將仍然存在於審計表中,因此DBA可以在需要時查看完整的更改歷史記錄。這並不意味着他們應該被通知每一個這樣的變化。

注意:這可能需要更改觸發器並在審計表中添加「優先級」或類似內容。這個級別可以用來設置通知。