2010-12-21 4 views
3

Unter welchen Umständen würde ich die obige Nachricht sehen? Ich habe einen einzigen Aufruf an SQL Server, der in einen Aufruf von TransactionScope verpackt ist. In unseren Entwicklungs- und QA-Umgebungen ist MSDTC deaktiviert und der Aufruf ist erfolgreich. In unserer Produktionsumgebung, in der MSDTC aktiviert ist, schlagen wir jedoch mit diesem Aufruf fehl. Gibt es etwas, das dies verursachen würde, wenn ich sicher bin, dass wir überhaupt keinen verteilten Transaktionsaufruf sehen?Die PROMOTE TRANSACTION-Anfrage ist fehlgeschlagen, weil keine lokale Transaktion aktiv ist

Antwort

4

Ok, also das Problem war, dass wir einen CreateTransaction-Aufruf um den Aufruf UND ein TransactionScope hatten. Also hatten wir 2 Transaktionen. Ich dachte nicht, dass dies diese Art von Problem verursachen würde, bis ich erkannte, dass wir, wenn es einen Fehler gab, zwei ROLLBACK-Aufrufe haben würden. Die zweite würde die obige Fehlermeldung auslösen und die erste effektiv verbergen. Wir haben dies gefunden, indem wir SQLProfiler auf der Suche nach "User Error Messages"

ausgeführt haben