sql server 如何防止触发器被drop或alter

2025-03-23 09:21:19
推荐回答(6个)
回答1:

试试用DDL触发器,但是作为管理员sa,他仍然有修改这个触发器的权力
如果只是db_owner的话应该有效

CREATE TRIGGER 禁止对数据库内触发器操作
ON DATABASE
FOR DROP_TRIGGER, ALTER_TRIGGER
AS
PRINT '对不起,您不能对数据库内触发器进行操作'
ROLLBACK ;

回答2:

只有被动的方案:

使用sql做一个检查,检查触发器是否存在。
不存在则报警。

使用sql job 定期执行。

回答3:

1,如果你有前台应用程序,可以通过前台应用程序的代码段来定义用户组,定义用户权限。
2,如果你没有前台应用程序,可以到SQL企业管理器里面修改登录用户的数据库角色(安全性),数据库角色的属性是不能改的。
3,在嵌有触发器的表上定义权限属性。

回答4:

管理员只给用户创建触发器的权限,不给drop或alter的权限不就行了!

回答5:

没辙,只能用用户权限控制了

回答6:

权限设置问题啊