Tengo una tabla llamada MyTable
en el que he definido un disparador, así:Contexto de transacción en uso por otra sesión
CREATE TRIGGER dbo.trg_Ins_MyTable
ON dbo.MyTable
FOR INSERT
AS
BEGIN
SET NOCOUNT ON;
insert SomeLinkedSrv.Catalog.dbo.OtherTable
(MyTableId, IsProcessing, ModifiedOn)
values (-1, 0, GETUTCDATE())
END
GO
Siempre que intente insertar una fila en MyTable
, me sale este mensaje de error:
Msg 3910, nivel 16, estado 2, línea 1 contexto de transacción en uso por otra sesión.
He SomeLinkedSrv
adecuadamente definido como un servidor vinculado (por ejemplo, select * from SomeLinkedSrv.Catalog.dbo.OtherTable
funciona muy bien).
¿Cómo puedo evitar el error e insertar con éxito el registro + ejecutar el disparador?
¿Hay algún disparador en SomeLinkedSrv.Catalog.Dbo.OtherTable? – Gratzy
@Gratzy - no, 'OtherTable' no tiene triggers definidos – GolfWolf
¿Está sucediendo en una transacción explícita?¿DTC está encendido en ambos servidores? – Gratzy