SQL Server:通过用户权限阻止对表的更新

时间:2013-08-01 20:17:50

标签: sql sql-server

我从未使用过SQL Server中的用户/登录,并且很难掌握它。

我目前以管理员身份登录,将我设置为“dbo”数据库用户。

我想要阻止更新的特定表。我尝试通过

更改权限
DENY UPDATE on SCHEMA::table TO dbo

但显然你不能搞乱dbo用户的权限。

因此,我创建了一个新用户myuser,并通过setuser myuser切换,但该用户似乎没有权限甚至从表中进行选择。

如何向此用户授予“除更新特定表之外的所有内容”权限?

1 个答案:

答案 0 :(得分:3)

要授予“除更新特定表之外的所有内容”权限,您可以执行

EXEC sp_addrolemember N'db_datareader', N'myuser'

EXEC sp_addrolemember N'db_datawriter', N'myuser'

DENY UPDATE ON dbo.YourTable TO myuser

From BOL

  

db_datawriter固定数据库角色的成员可以添加,删除或   更改所有用户表中的数据。

     

修复了db_datareader的成员   数据库角色可以读取所有用户表中的所有数据。