用户有管理员权限的,触发器代码可以加密,但是用户可以修改或删除。怎么控制?
数据库服务器物理位置在用户方,并且用户拥有db_owner角色
不可能通过权限去控制,
看看能不能用代码去控制,比如递归验证,或者更加灵活的方法
只要让流程进入闭环,用户删除某一个对象是没用的
但是可不可以实现,怎么去实现,希望给予帮助,谢谢
感谢你的帮助,请问SQL SERVER 2008有DDL触发器吗?
追答从2005开始就有了,你可以用自己测试一下,另外加了这个的话,
所有人都不能删除或更改库内触发器了,
要更改的话应该先删除或修改这条DDL触发器
这一点比较麻烦
谢谢你的回答,存在几个问题
1)删除后,再建立一个同名的触发器,就控制不了了
2)报警没有用,程序依旧可以执行
因为其有管理员权限,故肯定避免不了。
我的意思是,进行检查,及时发现进行修复。
属于没有办法的办法。
很抱歉,解决不了根本问题
1)用户要求的db_owner角色,不可能不给
2)这是用户授权加密的方法,
因为用户方有专门的数据库管理人员
到达授权使用日期后,会自己去更改授权
所以必须要严格控制
数据库服务器物理位置在用户方,并且用户是拥有db_owner角色
不可能用权限或角色去控制,
你想想有什么办法在代码上控制,比如递归验证。。。。
谢谢
用户用的必须是管理员角色
追答他既然是管理员角色,你还想怎样限制管理员的权限啊?
sql service数据库中,管理员角色不是最高角色?
可用户有最高管理员权限,不可能权限控制
追答你都说是最高管理员权限了,那怎么控制呢?
sql server 如何防止触发器被drop或alter
CREATE TRIGGER 禁止对数据库内触发器操作 ON DATABASE FOR DROP_TRIGGER, ALTER_TRIGGER AS PRINT '对不起,您不能对数据库内触发器进行操作'ROLLBACK ;
sql server创建一个触发器,保护当前服务器的所有数据库不被修改。
1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\\mssql7backup\\MyNwind_1.dat'--- 开始 备份 BACKUP DATABASE pubs TO testBack...
SQL触发器如何使用
如果向指定了 WITH CHECK OPTION 选项的可更新视图添加 INSTEAD OF 触发器,SQL Server 将产生一个错误。用户必须用 ALTER VIEW 删除该选项后才能定义 INSTEAD OF 触发器。{ [DELETE] [,] [INSERT] [,] [UPDATE] }是指定在表或视图上执行哪些数据修改语句时将激活触发器的关键字。必须至少指定一个选项。在触...
SQL语句建立触发器中语句出错了,哪位帮我修改阿?谢谢
如果向指定了 WITH CHECK OPTION 选项的可更新视图添加 INSTEAD OF 触发器,SQL Server 将产生一个错误。用户必须用 ALTER VIEW 删除该选项后才能定义 INSTEAD OF 触发器。{ [DELETE] [,] [INSERT] [,] [UPDATE] }是指定在表或视图上执行哪些数据修改语句时将激活触发器的关键字。必须至少指定一个选项。在触...
SQL触发器SQL触发器语法
触发器名称需唯一,符合标识符规则,可以使用WITH ENCRYPTION加密并设置NOT FOR REPLICATION防止复制过程中的触发。触发器通常包含Transact-SQL语句,用于检查或修改数据,但不会返回结果给用户。在SQL Server中,触发器行为有特定限制。例如,当兼容级别为70时,INSERT\/UPDATE触发器不能引用deleted表中的text、...
sql server2008中的触发器有3种类型,分别为
DML)事件时将启用。DML事件即指在表或视图中修改数据的insert、update、delete语句也。(2)DDL触发器:是指当服务器或数据库中发生数据定义语言(DDL)事件时将启用。DDL事件即指在表或索引中的create、alter、drop语句也。(3)登陆触发器:是指当用户登录SQL SERVER实例建立会话时触发。
sql 触发器使用方法
SQL触发器是一种特殊类型的存储过程,它们在特定的数据库操作事件(如插入、更新、删除)发生时自动执行。触发器的使用方法取决于FOR关键字后的操作类型,如INSERT、UPDATE或DELETE。此关键字确保触发器仅在相应事件上触发,排除了其他操作如SELECT、TRUNCATE或UPDATETEXT等。以注册系统为例,为了防止用户更改...
SQL,DLL,触发器
在 你 修改或者 删除 表之后 输出 you must disable trigger "ddd" to drop or alter tables!,并且回滚信息,也就是 之前执行的操作不算,回到执行操作之前的状态
Oracle数据库中有关触发器问题
触发器主要是通过事件进行触发而被执行的 触发器的触发事件分可为 类 分别是DML事件 DDL事件和数据库事件 而存储过程可以通过存储过程名字而被直接调用 当对某一表进行诸如UPDATE INSERT DELETE 这些操作时 SQL Server 就会自动执行触发器所定义的SQL 语句 从而确保对数据的处理必须符合由这些SQL 语句所...
求创建一个关于禁用\/启用触发器的存储过程,
此时不希望触发器工作,以避免造成延时等等 ALTER TRIGGER <触发器名> DISABLE;禁用某个触发器 ALTER TRIGGER <触发器名> ENABLE;启用某个触发器 ALTER TABLE <表名> DISABLE ALL TRIGGERS;禁用表上的所有的触发器 ALTER TABLE <表名> ENABLE ALL TRIGGERS;启用表上的所有的触发器 \/ --创建表和...