如何解决如何拒绝用户组的Disabe触发权限?
我想知道拒绝为用户组禁用触发器的SQL语法。有一个关键的触发器正在被某些人禁用和重新启用。我想首先避免被禁用。所以我尝试了以下语法。
USE [MyDBName]
GO
DENY ALTER ON OBJECT::[dbo].[TRIG_SomeName_DELETE] TO [UserGroup];
但是我收到类似“ 找不到对象'TRIG_SomeName_DELETE”的错误,因为它不存在或您没有权限。”。我尝试从具有提升特权的sql帐户执行上述语句。但是我一直收到相同的错误。我以为我可能没有为拒绝禁用触发器权限使用正确的语法。非常感谢您提供任何帮助。
解决方法
由于数据库级触发器不属于模式,因此您需要省略[dbo].
。另外,数据库级触发器没有ALTER
权限。您必须阻止他们编辑任何数据库级触发器(使用恰当命名的ALTER ANY DATABASE DDL TRIGGER
权限):
USE [MyDBName];
GO
DENY ALTER ANY DATABASE DDL TRIGGER TO [UserGroup];
这将阻止UserGroup
中的任何人创建,删除,更改,启用或禁用任何数据库级DDL触发器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。