|Transaction failure when deploying BAM TPE||Tuesday 12th August 2014|
If you use the Tracking Profile Editor (TPE) in BizTalk 2006 R2 BAM; then you may stumble across this typically-Microsoft error:|
"Communication with the underlying transaction manager has failed.
Useful huh? Well, luckily for us, Microsoft have addressed this error in:
Alas, the suggested fix didn't work for me. I'm in a multi-server environment, so maybe it's not as simple. Anyway, the issue I was having was the TPE deployment tools (GUI or CLI) don't play ball in an x64 environment.
The workaround is to install the BizTalk administrative tools on a 32-bit computer (I'm not sure if this has been resolved in later versions of BizTalk, I hope so as 32-bit is going the way of the dodo). You can then deploy as normal.
|BizTalk BAM: SSIS Packages||Friday 1st August 2014|
When deploying BAM in BizTalk, the bm.exe program sets up various database bits to keep the magic working. One of these parts is a SSIS (or DTS for you oldies) package for each 'Activity'. The purpose of these Packages is to generally jiggle the data around in the BAMPrimaryImport database, which is split up into "partitions". They are fairly complex and yet another database object that is required to keep things running smoothly in the world of BizTalk.|
You can view these packages by connecting SQL Management Studio to your Integration Services instance, they'll be named BAM_BM_[activity]. Well... you should be able to view them there. On my server, there are a whole bunch missing. It is important to ensure that these are there, and as far as I can tell, there is no way of repairing this. The only way to force them to be created is to remove and re-deploy the activity, which means, yup, you lose all your data in that activity.
1. Remove any referencing views
Removing views take a long time, but are harmless as they're are quite literally the view to your data, not your data itself:
bm remove-view -Name:MyView
2. Remove the corrupt Activity
This will permanently DELETE your data - gone, caput. I haven't thought of a clever way of managing this, apart from check everything deploys right the first time.
bm remove-activity -Name:MyCorruptActivity
3. Redeploy your BAM definition file
bm update-all -DefinitionFile:BamExport.xml