При использовании Oracle вы можете создать отключенный триггер, указав слово DISABLE перед телом триггера. Как я могу добиться того же эффекта в Sql Server?
Если вам действительно необходимо отключить триггер, создайте и отключите его в транзакции:
begin tran
go
create trigger t_i on t after insert as begin /* trigger body */ end
go
disable trigger t_i on t
commit
go
GO существуют, потому что CREATE TRIGGER должен быть первым оператором в пакете, но в зависимости от того, как вы развертываете свой код, вы, вероятно, можете сделать его более аккуратным.
В студии управления разверните папку Trigger под таблицей и щелкните правой кнопкой мыши Trigger and Disable.
DISABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]
MSDN:DISABLE TRIGGER (Transact-SQL)
ENABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]
MSDN:ENABLE TRIGGER (Transact-SQL)
sql-server-disable-all-triggers-on-a-database-disable-all-triggers-on -все серверы