When you use either the Tracking Profile Editor (TPE) or the BTTDeploy (Bttdeploy.exe) tool to deploy a large tracking profile (.btt) in BizTalk Server 2010, the deployment fails. Additionally, you receive the following error message:
The transaction has already been implicitly or explicitly committed or aborted (Exception from HRESULT: 0x8004D00E).
Note This cumulative update package resolves only the issue that occurs when you use the Bttdeploy.exe tool.
This issue occurs because the transaction times out after 3 minutes before the large profile can be fully deployed.
To resolve this issue, apply this fix. After you apply the fix, you can extend the default time-out value to something greater than 3 minutes.
Note This fix applies to the BTSDeploy.exe command-line tool and not to the other Business Activity Monitoring (BAM) tools.
To extend the default time-out value, add the following lines to the BTSDeploy.exe.config file:
<add key="CommandTimeoutInMinutes" value="nn" />
The nn placeholder represents the number of minutes that you want to set as the default time-out value.
If the time-out reaches 10 minutes or more, you must also consider the default .NET Framework time-out value in the Machine.config file. This value must be the same or greater than the time-out value in the BTSDeploy.exe.config file.
Be aware that increasing the time-out value may not fully resolve the problem. Because other underlying issues could also trigger this behavior, you may have to review the tracking profile, BizTalk configuration, Windows configuration, SQL Server performance, storage performance, and network performance to resolve the actual problem.
Cumulative update information
The hotfix that resolves this issue is included in Cumulative Update 6 for BizTalk Server 2010.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
To work around the issue, use one of the following methods:
Deploy smaller sized tracking profiles so that the transaction response will not exceed 3 minutes.
Optimize SQL Server to respond to the transaction within the 3-minute time-out period.