如何拒绝表的删除权限?

jra*_*ara 6 sql-server-2008 sql-server role

有没有办法拒绝用户或角色对特定表的删除权限?

Ale*_*x_L 7

如果您需要防止某些用户删除表,请尝试以下操作:

DENY DELETE ON OBJECT::dbo.table_to_deny TO restricted_user;
Run Code Online (Sandbox Code Playgroud)

http://msdn.microsoft.com/en-us/library/ms173724.aspx

  • 如果您想限制 DBO 用户权限,请询问。您的问题是“有没有办法拒绝用户或角色对特定表的删除权限?”。关于您的评论:防止 DBO 用户删除数据库中的对象 - 坏主意,您一定不能授予此用户 DBO 权限。为他提供适当对象的适当权限,但不是 DBO。DBO 是整个数据库的所有者。 (2认同)

Sta*_*hns 7

尝试使用 DDL 触发器 FOR DROP_TABLE:

CREATE TRIGGER NO_DROP_TABLE
ON DATABASE
FOR DROP_TABLE
AS
PRINT 'Dropping tables are not allowed'
ROLLBACK
Run Code Online (Sandbox Code Playgroud)