我正在尝试在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'
exec sp_msforeachtable 'ALTER TABLE ? DISABLE TRIGGER all';
。 - styfleuse MYDB;
disable trigger all on DATABASE;
不确定为什么Yuck删除了他们的回答。从DISABLE TRIGGER:
object_name 是创建DML触发器trigger_name以执行的表或视图的名称。
也就是说,您不能向此语句提供数据库名称。虽然MYDB
数据库存在,但其中没有名为MYDB
的对象。
XXXX
。 - JNK