我想停止高級用戶使用SQL Server Management Studio刪除數據。當數據被刪除時,我需要存檔數據並向審計跟蹤添加一些信息。SQL Server 2008 - 專門從存儲過程中刪除數據
- 當他們試圖從SSMS中刪除數據時,有沒有辦法阻止他們?
- 有沒有辦法知道哪個進程導致刪除?如來自SSMS,應用程序,存儲過程?
- 有沒有辦法只允許從存儲過程中刪除?
感謝
我想停止高級用戶使用SQL Server Management Studio刪除數據。當數據被刪除時,我需要存檔數據並向審計跟蹤添加一些信息。SQL Server 2008 - 專門從存儲過程中刪除數據
感謝
爲此登錄創建一個新的登錄名和數據庫用戶。然後向該用戶授予刪除權限,並將其從所有其他用戶中撤銷。編寫刪除數據的程序,添加WITH EXECUTE AS [previously created user that can delete data]
。向其他用戶授予對該過程的執行權限[s]。
那麼,他們是電力用戶都沒有他們。您可以爲它們設置拒絕刪除權限。
DENY DELETE TO [Your_User]
GO
從您的第二句話中,我得到的印象是,刪除不是真正的問題,但您需要存檔數據並在刪除數據時創建審計跟蹤。爲什麼不使用刪除觸發器?
是的,最終目標是歸檔數據,但我需要插入一些我將從應用程序傳遞的附加信息,並且不能刪除觸發器。如果我使用存儲的proc,我可以將它作爲輸入參數傳遞。 – AlterWorld
我會試試這個。這似乎是一種方式去...我需要給他們一個方法來刪除,因此存儲過程將足夠好。 – AlterWorld