Acabo de ver este artículo recientemente destacado en el boletín de SQL Server Central y parece ofrecer una forma que puede resultarle útil utilizando Context_Info en la conexión:
http://www.mssqltips.com/tip.asp?tip=1591
EDITADO por Terrapin:
El enlace anterior incluye el siguiente código:
USE AdventureWorks;
GO
-- creating the table in AdventureWorks database
IF OBJECT_ID('dbo.Table1') IS NOT NULL
DROP TABLE dbo.Table1
GO
CREATE TABLE dbo.Table1(ID INT)
GO
-- Creating a trigger
CREATE TRIGGER TR_Test ON dbo.Table1 FOR INSERT,UPDATE,DELETE
AS
DECLARE @Cinfo VARBINARY(128)
SELECT @Cinfo = Context_Info()
IF @Cinfo = 0x55555
RETURN
PRINT 'Trigger Executed'
-- Actual code goes here
-- For simplicity, I did not include any code
GO
Si desea evitar que se ejecute el disparador, puede hacer lo siguiente:
SET Context_Info 0x55555
INSERT dbo.Table1 VALUES(100)