Virtual Machines, BizTalk Configuration and DTC Madness

Looks like an instance of my stupidly has actually positively impacted the BizTalk 2006 documentation.

I'm teaching a class here in SoCal next week, and just finished building a server farm sitting in
Virtual Server 2005 R2.
I've got myself a nice Active Directory (plus DNS, plus DHCP) box, a server with SQL 2005 installed, and a couple servers
prepped for BizTalk installation by the students. So in typical virtual-development style, I created my first virtual machine, copied the
hard drive, and reused it for a different virtual machine. Now, I was bright enough to remember to change the new machine's
SID using my favorite SID modification tool, NewSID from
SysInternals. I figured that this would be enough to avoid communication problems
among my other boxes. I was wrong.

I spent WAAAY too much time trying to figure out why my attempts to configure BizTalk (which uses MSDTC transactions)
repeatedly failed. I applied every DTC configuration trick in the book, and used some of
the various useful DTC debugging tools such as
DTC Tester and
DTC Ping.
I finally got to the point where I received a message from the DTC Ping tool complaining of duplicate SIDs. I quickly compared the SIDs on my boxes using
GetSID and they were definitely different.

I then stumbled upon a
newsgroup post that told me something I was starting to suspect. The DTC service actually held onto the original SID. The only way
for DTC to see my newly generated SID, was to uninstall DTC and reinstall it.

So, I mentioned my challenges to one of the BizTalk technical writers, and it looks like we'll add something to the Help docs about
sysprepping virtual machines which makes sure a unique SID is generated for use by both the machine, and, MSDTC. Hopefully
my pain is your gain.

Technorati Tags: BizTalk