We currently have 4 load balanced web servers connecting to a SQL 2005 database server. On the web servers is IIS 6 which has our Dot Net web services installed and Dot Net COM+ components also in Dot Net 4. MSDTC is used on each web server and on the SQL server for transaction of several SQL queries that have to run as a unit. Occasionally we get the following error recorded in all 4 web servers but not on the SQL server (in the windows event viewer application log):
System.Runtime.InteropServices.COMException (0x8004E002): The root transaction wanted to commit, but transaction aborted (Exception from HRESULT: 0x8004E002)
Have found a couple of articles where folks have suggested increasing the time-out limits but unfortunately we are unable to do this due to time constraints in communicating with customer requests.
We would just like to know what the root cause of this problem could possibly be
It sounds like the transaction was started on the web server but MSDTC wasn't able to start the transaction on the SQL Server.
Looking at the MSDTC section of Component Services do you see the same number of errors on the web servers as on the SQL Server?
User contributions licensed under CC BY-SA 3.0