Why this blog and what is MsgBoxViewer ?


the purpose of this blog I created is mainly to share with you some troubleshooting tools I created at MS and to focus mainly on one that we use now frequently at CSS to get quickly a detailed health check of a BizTalk 2004/2006 System including of course all the BizTalk databases when we have BizTalk incidents raised. You may have already received this tool from a Microsoft Biztalk Support engineer but this is the place where I share publicly the tool and its futur updated versions.

Before to go further in details of this tool, let me present myself quickly and explain then why I created this BizTalk Health check tool.

I'm Jean-Pierre Auconie and started at Microsoft France in 1992 as a Support Engineer for Visual Basic 1.0 for DOS and Windows.
Visual Basic was so popular at that time that MS received a huge demand of help from Visual Basic developers ! VB allowed you indeed to develop very quicky Windows applications without to plunge in the famous SDK and its simplicity of utilization really boosted VB..and also my phone which was ranging all the time :-)
Then I started to support famous Windows SDK via Quick C and C++ 6.0 and then  Visual C++ and its MFCs.
you remember MFC ? it was the famous C++ classes framework that MS released to develop "faster" Windows applications. I think honestly that it had a good success. I really enjoyed this period.
After several years doing that, I decided to stay a Support Engineer but to focus on MTS ("Microsoft Transaction Server", our first middleware) and then  COM+ (Windows 200x version of MTS) where I was an Escalation Engineer (debug bugs and submit hotfix requests to our Product Group).
I moved then during two years to SIE Team  (yes I know, lot of acronyms at MS ...:-) where I spent two years travelling in EMEA to debug IIS, COM, COM+ issues on my  customer's sites.

Finally, I arrived in BizTalk area few years after (don't try to find the link betwen COM+ and BizTalk, it was not really my initial plan to do BizTalk support in fact ;-)   and I'm now Tech Lead in the European MS Biztalk Support team.

Let me xplain now why I created this tool :

As a Biztalk Support engineer, I received daily lot of requests related to Biztalk 2004 Databases issues and each time I had to send to my customers some some SQL queries to execute to have a good vision of the MsgBox Db, get exact number of rows in some BizTalk tables like the Spool one, get the number of messages in the different Biztalk Queues (Working and Suspended) for example,etc...
In fact most of these queries were extracted from a Lee Graber's document explaining what to monitor in BizTalk databases - I'm sure you already heard about Lee and this doc... :-).

I found then a little bit stupid and heavy to send each time the same set of queries in the same type of mail and this "template" mail I reused was growing weeks after weeks with new queries we suggested to execute.
I decided so logically to group these queries in a small C# client tool calling SQL .NET layer with one single goal in mind : do something simple and quick to use for my customers, I mean just enter location of the Biztalk Mgmt Db and click a button to start to collect data and send asap to CSS a txt file containg all results of the queries.
I noticed also that it was costly in time spent and difficult to get each time a complete and accurate info concerning the BizTalk topology of my customers, that's why I added this feature in this tool which  allow now to report quickly all servers used in the BizTalk Group and what they really host.

I developed so what I named "MsgBoxViewer" tool.