2016-08-01 99 views
1

我正在處理項目和其中一個表我希望用戶(任何用戶)不能刪除行,除非通過存儲過程進行刪除。不允許任何用戶刪除記錄,除非通過存儲過程

有一個關於這個問題,在這裏有一個答案https://stackoverflow.com/a/366931/4810628

但我需要知道如何執行在SQL Server這樣的政策。

感謝

+1

觸發器?權限?用戶是否能夠直接運行SQL命令?如果你試圖阻止這樣做,我不認爲真的有辦法。 – TZHX

+0

刪除(DENY)每個人的權限做刪除到表中,添加(GRANT)他們執行存儲過程的權限 –

+0

@CharlesBretana我可以做這樣的設置? – Alex

回答

1

刪除(DENY)每個人的權限做刪除表,添加(GRANT)他們的權限來執行存儲過程。

+0

而不是「TO Recruiting11;」中的特定用戶如果我想要爲此大家? – Alex

+0

您可以使用角色。 – TZHX

+0

是的,如果您允許實際用戶直接連接到數據庫,只需將它們分配給角色,然後爲該角色分配(授予/拒絕)權限,而不是分配給各個用戶。但更好的是讓中間層使用應用程序帳戶連接到數據庫,並讓所有用戶都通過中間層。 –