Błąd: "Nie można utworzyć nowego połączenia w trybie transakcji rozproszonej"

1

Mm tabelę na której dotychczas działało 10 triggerów
Wczoraj dodałem nowy (AFTER DELETE)

W skrócie to działa on tak:

DECLARE @tabela_tymczasowa TABLE (id_TypDok INT, numer_dok VARCHAR(70),data_wyst DATETIME, id_lokal INT,id_okr_rozl INT)   
 
INSERT INTO @tabela_tymczasowa   
SELECT id_TypDok,numer_dok,data_wyst,id_lokal,id_okr_rozl FROM DELETED

Gdy mam tylko tyle to mogę usuwać rekordy z tej tabeli.
Ale jak dodam linię,

SELECT TOP 1 @id_typ_dok=id_TypDok, @numer_dok=numer_dok, @data_wystawienia=data_wyst, @id_lokal=id_lokal, @id_okr_rozl=id_okr_rozl FROM @tabela_tymczasowa

albo chociaż tak:

SET @id_typ_dok = (SELECT TOP 1 id_TypDok FROM @tabela_tymczasowa)

to przy próbie usunięcia rekordu dostaję błąd

Cannot create new connection because in manual or distributed transaction mode

Myślałem że przyczyną jest jakiś inny trigger, ale nawet jak wyłączyłem wszystkie i został tylko ten jeden nowy, to nadal mam ten sam błąd.

Zamiast tej linii z SELECT TOP dodałem CURSOR (nawet jeśli on nic nie robił) to też jest ten błąd.

Już nie wiem o co chodzi.
Poradzicie coś?

1

a jak próbujesz usunąć rekord z poziomu SSMS to działa?

0
abrakadaber napisał(a):

a jak próbujesz usunąć rekord z poziomu SSMS to działa?

tak, to wtedy działa.
jak usuwam z aplikacji to tam zawsze jest uruchamiana transakcja.

1

Zaczałbym od sprawdzenia czy MARS pomoże (nie mam na mysli batonika)

1 użytkowników online, w tym zalogowanych: 0, gości: 1