MsgBoxViewer (MBV) Q & A

 

Q: What is the purpose of MBV ?
A: The goal of MBV is to retrieve the maximum amount of information from a BizTalk System in one click in the minimum amount of time, identify all possible issues which could be critical or need attention, and present them in a user friendly format.

Q: How is MBV different compared to other known tools like BPA or BizTalk Server 2006 Documenter ?
A: While BizTalk Documenter generates a nicely formatted overview document of a BizTalk Group, BPA and MBV are health check tools and generate reports of a BizTalk System that are complementary to each other.

   - BPA was developed by the PG for BizTalk 2K6 and reports two levels of warnings. BPA 1.1 was updated to contain some MBV rules but also contains a lot of additional rules relating to  BAM and the Rules Engine for example.
     BPA also provides detailed documentation on its own warnings.

   - MBV was developed by a Microsoft Support Engineer in collaboration with BizTalk Support and Field teams and contains some BPA rules but also adds additional ones.
     MBV reports two levels of warnings with corresponding links to MS KB articles, MS BizTalk Documentation, or BizTalk Whitepapers (but does not provide its own documentation of its warnings).
     MBV also retrieves detailed collapsible reports of information related to a BizTalk Group including its settings and its complete topology organized by servers, so MBV is more a mix of BPA and BizTalk Documenter.

Q: Which version of BizTalk Server can be analyzed with MBV ?
A: All versions and their SPs since BizTalk 2004 can be analyzed.

Q: Is MBV safe to run on a Production System ?
A: Yes, firstly, MBV does not need to be "installed" and secondly it uses only read SQL, WMI or VBS queries targeting the MsgBox, DTA, or Mgmt DB and uses WMI or VBS scripts to get info about the topology.
   The queries it contains were tested to not generate performance issues and locks

Q: Can MVB generate locks, deadlocks or Orphaned SPIDs on BizTalk DBs that it queries?
A: No, MBV uses only one thread for all its queries and does NOT use MSDTC transactions.
    If you have other health check tools querying your BizTalk DBs and running at same time as MBV I cannot predict the results.
    It is preferable to avoid using other Admin BizTalk tools when you use MBV.

Q: When I execute MBV, I get a "SecurityException" error
A: This error is raised when you start MBV from a remote location. You need to copy MBV locally and start it from a local folder 

Q: Is MBV able to analyze large BizTalk configurations involving multiple servers and clusters ?
A: Yes, MBV is able to identify and include in the topology report all servers and Cluster nodes involved in the BizTalk group

Q: Is MBV able to analyze multiple MsgBox DB configurations ?
A: Yes, MBV will identify and analyze all MsgBoxes in the BizTalk group

Q: Where do the SQL queries executed by MBV come from ?
A: Some of them come directly from BizTalk Architect Lee Graber’s "Advanced Queries" document. Other queries come from Microsoft BizTalk Support teams or known SQL & BizTalk Troubleshooting documents.

Q: Why do you have both a Console and a GUI version ?
A: The GUI tool interactively displays information collected in listviews and allows you to easily select which queries to execute. The Console version can immediately issue a Collect and can be launched by any type of parent application (like "PssDiagForBiztalk") 

Q: Why is MBV updated so frequently ?
A: To include ASAP additional check rules & warnings based on issues met by Microsoft BizTalk Support and Field teams.
 

Q: Why does MBV not use .NET 2.0 ?
A: In order to be executable on BizTalk 2004 Servers which might only have .NET 1.1 installed

Q: Why does MBV have some Queries Listviews in Bold ?
A: The  list(s) in bold contains queries which will always be executed and are considered so as importanrt and the other lists offers you the option to choose the queries to execute.

Q: What is the recommended choice of queries to execute?
A: I recommend to  select ALL queries the first time in order to collect the maximum number of reports including a fully detailed Topology Report and to have maximum checks done so all possible warnings are raised in the Summary Report. You can then unselect some queries depending of the type of output you want or to have a faster collection time

Q: Why do I sometimes see timeout errors in the HTML or status log files ?
A: Some queries like Fragmentation or MSG Count in DTA db can take a long time to execute and so the default Query Timeout of 30 seconds will expire.
   In this case, the tool will report a timeout error but will continue to execute other queries

Q: Can we stop a pending Collect if it is taking too long to finish ?
A: Yes, MBV  offers this feature but the Collect will be stoped only after the pending query finish to execute or timeout.You can not stop a pending query.

 

Q: How does MBV manage the errors met by some queries ?
A: Each error generated by a query is caught in order that it cannot prevent the next queries from executing

Q: why do I have Access Denied Errors executing some queries ?
A: These Access Denied errors are caused mainly by missing SQL, WMI, or REGISTRY access permissions for the user running MBV.
Recommendation is to be a BizTalk Admin and SYSADMIN on the SQL Server(s) hosting the BizTalk Dbs but one of the assumptions that we often make with MBV is that the user running MBV will have complete access rights to both BizTalk Server and SQL Server but it is not always the case.

Q: How can I reduce the total duration of the Collect ?
A: Either by reducing the number of queries to execute, or by reducing the query timeout if you have too many time consuming queries 

Q: What is the real purpose of the status log file ?
A: This file will report ALL activity generated by MBV with the time stamp of each query and report generated. This file is also very interesting for the author to identify possible bugs

Q: What is the real purpose of the History log file ?
A: This file will contain in plain text ALL Collect outputs made since the last purge. This file can be purged in the GUI.

Q: Can the Query or Connection Timeout be changed ?
A: Yes, both the GUI and Console versions can have these timeouts changed

Q: Can I have the MsgBox or DTA db Tables size reports ordered by table name ?
A: Yes, you have the possibility to change the order type in the "Options" tab or by using a parameter in the Console version

Q: Can I know the collect duration from a HTML report ?
A: Yes the first line of the summary Report includes this information

Q: Sometimes MBV appears to not be responding, how d I know what it is doing ?
A: The status bar shows the pending query and the tool use two different threads for the GUI and the Collect engine so even during a long query the tool window is always visible and responsive.

Q: What is the role of the different tabs in the second half of the Gui tool ?
A: The tabs contain listviews of some important reports including the Summary Report and these listviews are populated during the Collect.
   You can navigate into these lists (except the Summary Report one) even if the collect is still pending !

Q: How can I have more know info about the queries to execute ?
A: For each query to be executed, the GUI version displays in its list the target and scope of the query, its caption, and its type (SQL, WMI, VBS, CUSTOM., etc...)

Q: What means really this entry in the Header Report ? : "This BizTalk Server is NOT a member of the targeted BizTalk group"
A: It means that the BizTalk server running MBV does not belong to the BizTalk group referenced by Mgmt DB server and name you have specified.
   By default when running on a BizTalk Server, MBV automatically tries to get the targeted Mgmt DB server and name from the registry

Q: Can I run MBV on a server which is not a BizTalk one ?
A: Yes, MBV can be run on any server that has .NET 1.1 installed no matter what it is. E.g. Win 2K, Win 2K3, Win XP or Vista.
If it is not executed on a BizTalk Server, you will have to specify the Mgmt DB Location and Name.
However, in this case, the query to collect local perfmon counters will not be executed and the ability to detect throttling will be missing! 

Q: Is it possible to develop some solutions analyzing automatically the MBV output file ?
A: Yes, MBV also allows the option to generate output in an XML file containing its own schema (in GUI version)
    Ideas of possible solutions to develop around XML MBV file :
    - Custom  Summary Report analyzer
    - Tool to build a Visio diagram from the Topology Report
    - Tool to identify differences between several MBV XMLs
    - ...

Q: What is the SQL Query used behind the "Running SPIDs" or "Locked SPIDS" queries ?
A: These two queries use a SP_who3.SQL script based on sp_who2 but updated for BizTalk  

Q: Why some Queries can execute only on SQL 2K5 ?
A: Some queries like "Most CPU SQL Queries" are based on SQL 2K5 relational rowsets through dynamic management views (DMVs).

Q: Can MBV run periodically and automatically some Collect ?
A: Yes, you have an option in the GUI version which allows you to configure a periodic interval in minutes to collect
   As soon you check the option "Collect Each", a timer is started and will trigger the collect after the interval configured.
However best way to achieve that is to schedule  the start of the console version of MBV (BTSDBCOLLECT.EXE)

Q: Can I have access to previous HTML files generated ?
A: Yes, each Collect generates an HTML file in the specified output folder containing in its title the MBV version + current Date & Time to uniquely identify it.

Q: How is built the "Msg Flows" Report ?
A: This Flow report is built from the Subscription table but also from some orchestration port bindings tables.
    This report cannot show all possible flows!

Q: Is MBV able to retrieve BizTalk errors in the Application journal
A: Yes, MBV provide an optional query to to collect  error events of Biztalk sources

Q: When I open HTML file in IE on some machines, I can not expand the reports
A: MBV HTML files use scripting and IE can be configured to prevent scripting from executing for security reasons

Q: Can MBV send its warnings in eventlog only ?
A: Yes, MBV provides an option to send automatically its warnings in the application eventlog and provides also some options to prevent generating the HTML, Status, and History files.

Comments

  • Anonymous
    January 01, 2003
    thank you

  • Anonymous
    January 01, 2003
    Hi Raul, you can ignore this warning It is unfortunately a bug in my tool occuring with BT 2004 SP2 environments and I already fixed it in next incoming build JP

  • Anonymous
    January 01, 2003
    Hi Steve, can I know which vesion of MBV you use ? Normally MBV can collect even if a BAM import is not present It was working fine in past versions if it is not the case in the latest build then it is a regression bug and I need to fix that asap I will do also a test  on my side and come back to you what the result is thanks for this remark JP

  • Anonymous
    January 01, 2003
    Hi Srikanth, I never saw this prolem before to be honest can you send me please your msgboxviewer.html et msgboxviewer_status.log files ? thanks JP jpierauc@microsoft.com

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    As the name imply, MBV analyze in details your BizTalk 2004 & 2006 MsgBox Db but also other BizTalk

  • Anonymous
    January 01, 2003
    Hi Ken, Thanks to report that issue and sorry to reply only now, I was quite on different things. Can you please send me (jpierauc@microsoft.com) your status log file that MBV produce. I would be interested to undersctand this nullref exception, you have indeed a large config of many servers so it is possile that you met a limit somewhere in MBV I have to admit that I never testd MBV tested in a such large config ! :-) JP

  • Anonymous
    August 07, 2008
    Hi. Msgbox Database Integrity report gives me following message, what does that mean? How can i solve what is the Issue ? Control Message Check                                                      Missing Restart Msg in Spool table (can prevent some svc instances to be resumed, terminated or suspended) !!                                          

  • Anonymous
    August 08, 2008
    Hi Jokke, this warning means that the internal restart control message is missing in your Spool table. In BizTalk 2004, you have only 1 contol msg inserted in Spool at congiguration time when the msgbow is created. In bizTalk 2006, you have 4 msgs inserted. MBV is checking for presence of this msg in Spool table and raise this warning if not present. to fix that, you can look in Msgboxlogic.sql in your BizTalk install folder and search for "restart control message" string, you should find a INERT INTO statement inserting this restart control msg that you can reuse against your Msgbox db. Please, run your backup job before to do that and have a backup JP

  • Anonymous
    October 01, 2008
    Hi, Could you confirm the above comment, I have looked in the MsgBoxLogic.sql file for the string "restart control message" and some variations around this and can not be sure which Insert Into statement you mean. Any help would be appreciated Mike

  • Anonymous
    October 02, 2008
    Hi Mike, ok I will add asap  a comment on this page with the exact SQL query to repair that JP

  • Anonymous
    October 29, 2008
    Hi JP Think I forgot to thank you for this, very helpful.  

  • Anonymous
    August 31, 2009
    The comment has been removed

  • Anonymous
    March 09, 2010
    The comment has been removed

  • Anonymous
    October 11, 2010
    The comment has been removed

  • Anonymous
    February 08, 2011
    Hi We do not have BAM configured in our environment. MBV doesn't collect counters complaining that it can't connect to BAMPrimaryPort Database. Is there a setting to exclude BAM dbs? Thanks!

  • Anonymous
    May 10, 2011
    Hi JPAuc, I have 26 servers in my BizTalk environment and below is the error I got when I start the MsgBoxViewer. 09:20:02.1891882      GET BT SERVERS LOCATIONS... 09:20:02.1891882         EXECUTING SQL QUERY 09:20:02.1891882        ADDING SERVER HPSXDRPCIT01 IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER HPSXPROCIT01 IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSP1 IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSP2 IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSP3 IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSP4 IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSP5 IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSP6 IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSP7 IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSP8 IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSP9 IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSPA IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSPB IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSPC IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSPD IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSPE IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSPF IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSPG IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSPH IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSPI IN TOPOLOGY REPORT 09:20:02.1891882        ADDING SERVER SMNBTSPJ IN TOPOLOGY REPORT 09:20:02.1891882 - ERROR ! : ERROR CALLING CUSTOM FUNCTION "CALLBACKCOLLECTSTART", ERROR: OBJECT REFERENCE NOT SET TO AN INSTANCE OF AN OBJECT. ERROR ! : ERROR CALLING CUSTOM FUNCTION "CALLBACKCOLLECTSTART", ERROR: OBJECT REFERENCE NOT SET TO AN INSTANCE OF AN OBJECT. 09:20:02.1891882 - ERROR ! : CAN NOT CONTINUE THE COLLECT ERROR ! : CAN NOT CONTINUE THE COLLECT 09:20:06.7982682     COLLECT PROCESS END I have downloaded the latest one from website, could you let me know how I can fix this?

  • Anonymous
    August 07, 2013
    The checks for orphan instances are not run in our live environment. We are running MBV 12 and in our live environment the resulting reports says: "BizTalk - DTA Db : Orphaned Svc Instances  (SQL Query, 2 Rules, Disabled, can not be executed in a multiple MsgBox config or if MsgBox db not located on same server than DTA db)" However, we are NOT having a multiple MsgBox config and the MsgBox db IS located on same server as the DTA db. Any ideas why the rules are being disabled? (And we do have orphan instances) Thanks a lot for your tool and your help. /Michael P.S: I also posted this in blogs.technet.com/.../submit-here-your-feedbacks-on-mbv-and-your-suggestions-for-next-versions.aspx but this Q & A seems more alive?

  • Anonymous
    August 08, 2013
    I've fixed the issue as described here: blog.brandt-lassen.dk/.../mbv-checks-for-orphan-instances-disabled.html  

  • Anonymous
    December 16, 2014
    at one spot in this page, MVB is written instead of MBV, just letting mods know :p