MSDTC transaction exception on SQL 2008 / Server 2008 R2 x64 HRESULT: 0x8004D025

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?

+4
source share
1 answer

Personally, I have not seen this in practice, but found this:

From here :

  1. Be sure to check "Access to the DTC network", "Allow remote client", "Allow incoming / outgoing", "Enable TIP", (Some option may not be necessary, try to get your configuration)
  2. The service will restart.
  3. BUT YOU MAY NEED TO BE FORBIDDEN BY YOUR SERVER IF IT STILL DOES NOT WORK
+7
source

Source: https://habr.com/ru/post/1346504/


All Articles