我正在尝试在 SQL Server 中运行此命令:
disable trigger all on MYDB
这对我来说是失败的。我登录的帐户可以访问 MYDB,并且我几乎授予了它每一个可用的权限(它是本地数据库和我的帐户,所以这没关系)。我不明白为什么它告诉我找不到 MYDB?我以前做过。另请注意:我可以从数据库中选择、更新和运行授权语句(例如授权执行 proc)。我也可以手动禁用触发器...
那么为什么会失败呢?以前我也能做到...
谢谢。
我正在尝试在 SQL Server 中运行此命令:
disable trigger all on MYDB
这对我来说是失败的。我登录的帐户可以访问 MYDB,并且我几乎授予了它每一个可用的权限(它是本地数据库和我的帐户,所以这没关系)。我不明白为什么它告诉我找不到 MYDB?我以前做过。另请注意:我可以从数据库中选择、更新和运行授权语句(例如授权执行 proc)。我也可以手动禁用触发器...
那么为什么会失败呢?以前我也能做到...
谢谢。
sp_msforeachtable 'ALTER TABLE ? DISABLE TRIGGER all'
要启用所有触发器,您可以使用以下语句
sp_msforeachtable 'ALTER TABLE ? ENABLE TRIGGER all'
use MYDB;
disable trigger all on DATABASE;
不知道为什么 Yuck 删除了他们的答案。从禁用触发器:
object_name 是创建 DML 触发器 trigger_name 以执行的表或视图的名称。
也就是说,您不能为此语句提供数据库名称。虽然MYDB
数据库存在,但其中没有一个名为MYDB
.