Разработчики не должны иметь прав администратора на производственную базу данных. Они не должны иметь возможность отключать триггеры, потому что у них не должно быть прав на prod для выполнения каких-либо действий, кроме select.
В чем проблема с триггером (-ами), когда люди чувствуют необходимость его отключить? Это плохо написано? Разве он не обрабатывает несколько строк правильно? Предотвращает ли это что-то, что должно произойти?
В этой ситуации у нас есть документация о том, как обходить триггер, а не отключать его (т.е. устанавливать флаг), но, очевидно, некоторые разработчики знают лучше.
Это указывает на то, что сам триггер является проблемой. Перепишите его, чтобы не требовалось обходного пути.
На основании комментария
Добавьте поле триггера перегрузки для ваших данных. Если вы хотите переопределить его, отправьте значение 1, если вставленная таблица имеет значение 1, а затем укажите if, который игнорирует те части триггера, которые вам нужны для этих записей, но затем он продолжается и выполняет другие триггерные операции. В конце сбросьте значение поля переопределения на ноль.
В качестве альтернативы, поместите триггеры аудита в отдельные триггеры, поэтому, когда они отключают тот, который им нужен для временного отключения, триггеры аудита по-прежнему работают.
Или вообще уберите «иногда мы запускаем это» из триггера и добавьте его в процессы, которые вставляют записи, где вы хотите, чтобы они выполнялись, а не в другие.