I am currently updating the application to SQL 2008 / Server 2008 R2 x64 and I see strange behavior that I did not see on SQL 2005 / Server 2003. I accidentally get an exception from MSDTC: The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025) The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025) . Please note that I allowed network transactions without authentication, and these transactions really work in 95% of cases. But then some with this message fail. This is an SQLBulkCopy object, if relevant.
I examined the DTC statistics and I wonder when a transaction throws this exception, there is no aborted transaction, but it records one completed transaction. WHAT IS REALLY interesting, the remote transaction manager ALSO creates a new transaction (status is fixed). The second record is recorded as part of the transaction, which is successfully written to the database, but the first of them is not.
In terms of sequence, when I see this error, the following happened:
- Delete from table (this works)
- Bulkcopy in new lines (this fails and an exception occurs in the WriteToServer method)
- Create a record entry (this works).
I know that SQL and the application both got their MSDTC configured for remote transactions, as several transactions work successfully. Any idea why this is happening and how I can fix it?
source share