【发布时间】:2013-08-01 20:17:50
【问题描述】:
我从未在 SQL Server 中处理过用户/登录,因此很难掌握它。
我目前以管理员身份登录,这将我设置为“dbo”数据库用户。
我想阻止对一个特定的表进行更新。我尝试通过
更改权限DENY UPDATE on SCHEMA::table TO dbo
但显然你不能乱用 dbo 用户的权限。
所以我创建了一个新用户 myuser 并通过 setuser myuser 切换,但该用户似乎没有权限从表中进行选择。
我应该如何向该用户授予“除了更新特定表之外的所有内容”权限?
【问题讨论】:
-
你为什么要为
dbo做这个?如果您只是想防止意外更新,您可以定义一个INSTEAD OF UPDATE触发器,除了抛出错误之外什么都不做。这不是一项安全措施,因为任何拥有适当权限的人都可以禁用、更改或删除触发器。 -
这不是一种安全措施,只是一种预防措施。我尝试了
INSTEAD OF UPDATE,但它破坏了我的MERGE语句。 -
对了。是的,在这种情况下,出于某种原因,它坚持使用
INSTEAD OF触发其他两个动作。
标签: sql sql-server