I recently came across this error when a customer was trying to apply the CU6 patch on their BizTalk environment.
The transaction associated with the current connection has completed but has not been disposed. The transaction must be disposed before the connection can be used to execute SQL statements.
The issue seems to be here was the transaction were getting aborted after about 10 minutes even though the System.Transactions has a timeout set to 200 minutes
Also BAMPrimaryImport database was quite large around 80 GB.
- We asked customer to clear the data and bring down the size of BAMPrimaryImport.
- Modify machine.config file to set the max Timeout to 1 hour.
After doing the above 2 steps CU6 installed successfully.