SQL Server отключение всех триггеров-не удается найти объект "XXXX", поскольку он не существует или у вас нет разрешений
Я пытаюсь запустить эту команду в SQL Server:
disable trigger all on MYDB
Это не для меня. Учетная запись, в которую я вошел, имеет доступ к MYDB, и я в значительной степени даю ей все доступные разрешения (это локальная БД и только моя учетная запись, так что это нормально). Я не понимаю, почему он говорит мне, что не может найти MYDB для этого? Я делал это раньше. Также обратите внимание: я могу выбрать из базы данных, обновить и запустить инструкцию grant (например, предоставление выполнения proc). Я также могу отключить триггеры вручную...
Так почему же это не удается? Раньше я мог это делать...
спасибо.
3 ответов
sp_msforeachtable 'ALTER TABLE ? DISABLE TRIGGER all'
включить все триггеры, вы можете использовать следующую инструкцию
sp_msforeachtable 'ALTER TABLE ? ENABLE TRIGGER all'
не уверен, почему Yuck удалил свой ответ. От ОТКЛЮЧИТЬ ТРИГГЕР:
имя_объекта Имя таблицы или представления, для выполнения которых был создан триггер DML trigger_name.
то есть вы не можете предоставить имя базы данных для этого оператора. В то время как MYDB
база данных существует не объект внутри него называется MYDB
.