1)ENABLE | DISABLE语句
语法(sql server 2008以上)
1 2 |
|
schema_name:触发器所属架构的名称。schema_name不能指定DDL或登录触发器。
trigger_name:要启用或禁用的触发器的名称。
ALL:指示启用在ON子句作用域中定义的所有触发器。(SQL Server在为合并复制发布的数据库中创建触发器。在已发布数据库中指定ALL可禁用这些触发器,这样会中断复制。在指定ALL之前,请验证没有为合并复制发布当前数据库。)
object_name:是的名称的表或试图在其触发DML trigger_name已创建以执行。
DATABASE:DDL触发器,该值指示trigger_name已创建或修改与数据库作用域执行。
ALL SERVER:DDL触发器,该值指示trigger_name已创建或修改要执行与服务器作用域。ALL SERVER也适用于登录触发器。
示例
A.在表中启用或禁用DML触发器
禁用在表uAddress中创建的触发器Address,然后再启用它。
1 2 3 4 |
|
B.启用或禁用DDL触发器
在数据库范围,禁用DDL触发器safety,然后再启用它。
1 2 3 4 |
|
C.启用或禁用以同一作用域定义的所有触发器
启用或禁用在服务器作用域级别创建的所有的DDL触发器。
1 2 3 4 |
|
2)ALTER TRIGGER语句
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Permissions
若要启用或禁用DML 触发器,用户必须至少对于创建触发器所在的表或视图拥有 ALTER 权限。
若要启用或禁用具有服务器作用域 (ON ALL SERVER) 的 DDL 触发器或登录触发器,用户必须对服务器具有 CONTROL SERVER 权限。 若要启用具有数据库范围 (ON DATABASE) 的 DDL 触发器,用户至少应在当前数据库中拥有 ALTER ANY DATABASE DDL TRIGGER 权限。
转自: