我从未使用过SQL Server中的用户/登录,并且很难掌握它。
我目前以管理员身份登录,将我设置为“dbo”数据库用户。
我想要阻止更新的特定表。我尝试通过
更改权限DENY UPDATE on SCHEMA::table TO dbo
但显然你不能搞乱dbo用户的权限。
因此,我创建了一个新用户myuser
,并通过setuser myuser
切换,但该用户似乎没有权限甚至从表中进行选择。
如何向此用户授予“除更新特定表之外的所有内容”权限?
答案 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
db_datawriter固定数据库角色的成员可以添加,删除或 更改所有用户表中的数据。
修复了db_datareader的成员 数据库角色可以读取所有用户表中的所有数据。