我有刪除表上的觸發器,其中我使用函數HOST_NAME()來檢索執行操作的用戶,然後我檢查用戶存在用戶表中如果不是那麼我扔Raiserror。動作是從ASP.NET Web應用程序中執行的,我將動態地將「Workstation Id」添加到連接字符串,以便在刪除觸發器中具有當前記錄的用戶名。
修改HOST_NAME()在sql服務器
問題是我有時必須從SSMS手動運行一些腳本,並且Host_Name()包含當前登錄的用戶在sql server中的名稱,但該用戶在用戶表中沒有相應的行,然後發生Raiserror。問題是如何從SSMS運行刪除腳本並且沒有Rairserror?
只是爲了澄清:你想修改一個系統函數,以便觸發器允許未經授權的用戶運行刪除腳本?我真的很茫然。如果你找到了一個方法來做到這一點,讓我知道,以便我可以找到一種方法來抵禦它。 – JAQFrost 2012-04-26 13:48:12
澄清:我創建了這個問題,因爲我動態地添加「工作站ID」連接字符串從我的Web應用程序已記錄用戶名在刪除triger(然後我檢查名稱存儲在用戶表的Host_Name(),然後我做一些SQL ),但有時候我必須運行一些在用戶表中沒有對應行的帳戶。休息一段時間後,我發現了溶劑,我創建了自己的函數,在其中檢查Host_Name(),如果用戶名不存在於用戶表中,但名稱等於xyz,則從用戶表中返回用戶。我希望你現在明白我的問題。 – 2012-04-26 18:41:50
我這麼認爲:你並不是真的想改變系統功能,你想把它包裝在一個自定義函數中,該函數返回腳本應該運行的用戶。請相應地編輯你的帖子,並回答你做了什麼來得到你想要的。 – JAQFrost 2012-04-27 13:25:23