4

我有一个关于 ms sql 权限的问题

我为列 UPDATE 设置了 DENY 权限

DENY UPDATE ON [MyTable] (MyColumn) TO [PrincipalName] ;

它工作正常(防止在我直接更新 MyTable 的 MyColumn 时更新 MyColumn),但它仍然允许用户通过存储过程更新此列。

这个问题有什么解决办法吗?

4

1 回答 1

0

Colin Mackay is right. Stored procedure encapsulates business logic and permissions.

You can use something like

IF user_name()='PrincipalName' raiserror(N'Update denied',15,0)

to check user in the stored procedure. Or You can create an update trigger for then table

于 2013-06-19T14:50:35.123 回答