I have the following insert trigger on a table in Server1 that calls a stored procedure in Server2.1. Why can I call this procedure on Server2 in QA while logged into Server1 without DTC, but it requires DTC when calling the sproc in a trigger?2. Is there a way to rewrite this trigger so it will not use DTC? DTC is giving me problems. This works fine within QA without DTC running...USE EnovisionDECLARE @Today datetimeDECLARE @Result intSET @Today = GETDATE()EXECUTE [Server2].Enov_Dev.dbo.fj_create_monitor '101','EC001','This is a Test',@Today,@Result OUTPUTPRINT @Result
Here's the trigger...CREATE TRIGGER [Astea_Insert] ON dbo.TrackData AFTER INSERT AS /* Call Stored Procedure in AsteaSQL Server - Ken Blum 5/4/2005 Note that this trigger will only work for one row, It will not work for batch inserts */DECLARE @Astea_Serial varchar(30)DECLARE @Astea_Error_Code varchar(8)DECLARE @Astea_Text varchar(254)DECLARE @Astea_DT datetimeDECLARE @Astea_ErrorLevel intDECLARE @Result intDECLARE @ErrorVal intSELECT @Astea_Serial = i.SerialNumber FROM Inserted iSELECT @Astea_ErrorLevel = i.ErrorLevel FROM Inserted iIF @Astea_ErrorLevel < 40 OR @Astea_Serial = 'REMTEST' RETURNSELECT @Astea_Error_Code =i.ErrorCode FROM Inserted iSELECT @Astea_Text =ErrorCodes.Description FROM Inserted i LEFT JOIN MACHINES ON Machines.SerialNumber = i.SerialNumber LEFT JOIN ERRORCODES ON ErrorCodes.Machine_Type = Machines.Machine_Type AND ErrorCodes.ErrorCode = i.ErrorCode SET @Astea_Text = ISNULL(@Astea_Text,'Unknown')SELECT @Astea_DT = i.Time_Stamp FROM Inserted iEXECUTE [Server2].Enov_Dev.dbo.fj_create_monitor @Astea_Serial,@Astea_Error_Code,@Astea_Text,@Astea_DT,@Result OUTPUTSelect @ErrorVal = @@ERROR/* Record Error for Diagnostics */IF (@ErrorVal != 0 OR @Result != 0) BEGIN INSERT INTO SysError (IDKey,IDKey2,RetVal,Msg) Select i.TrackDataIDKey,i.DB2_Key,@ErrorVal,'ASTEAINS' FROM inserted i END
TIA,