locked
Question about BizTalk Admin Console and logging RRS feed

  • Question

  • I'm auditing some change management processes in BizTalk and was wondering if there are logs that show each time a .msi file and/or a bindings file is imported and exported from the production server?  I was told that to install the orchestrations they import a .msi file and a bindings file in the BizTalk Server Admin Console and then restart the application and the changes take place.  Is this kind of activity logged anywhere, or are there certain files within the application server that would show a 'Last Modified Date' to determine the last time a orchestration installation took place?

    Thanks.
    Thursday, August 6, 2009 6:26 PM

Answers

  • If you have BizTalk 2009 on SQL 2008 you could apply SQL Server Audit on the BizTalkMgMtDb (not sure if that is supported by Microsoft):
     http://msdn.microsoft.com/en-us/library/cc280386.aspx

    Maybe auditing the SQL database might not be the best solution here - you should look into restricting who is allowed to apply deployments, make sure there's good deployment documentation, ensure the history of deployment packages and a log of deployments are kept, and that the environment is backed up before every deployment.
    Thiago Almeida - http://connectedthoughts.wordpress.com
    Sunday, August 9, 2009 8:45 PM
    Answerer

All replies

  • Hi,

    There are two tables in the BizTalkMgmtDB database that might be useful for you:

    bts_application - contains a DateModified column which (I guess) stores the last modification date to the application
    bts_assembly - contains also a DataModified.

    Not sure if this is what you're looking for but I give it a try anyway.


    HTH, Randal van Splunteren - http://biztalkmessages.vansplunteren.net - Please mark as answered if this answers your question.
    Thursday, August 6, 2009 6:33 PM
    Moderator
  • Would this show modifications to the actual application itself or to the orchestrations within the application?  Sorry, I don't have a lot of knowledge about BizTalk.  Basically, they use TFS for their coding of Biztalk modules/orchestrations, then place these in a .msi file that gets imported on the production server through the Admin console.  So each time they did this I would like to see a log of activity.  Maybe this is what you are referring to.
    Thursday, August 6, 2009 6:54 PM
  • Hi,

    Not sure what those values exactly mean. I think you should do some testing to see when those values change and what they mean.


    HTH, Randal van Splunteren - http://biztalkmessages.vansplunteren.net - Please mark as answered if this answers your question.
    Thursday, August 6, 2009 7:00 PM
    Moderator
  • I have a thought, and it might help you but who knows for sure.

    The MSIs that you are deploying from can have custom scripts in them that run either before or after the MSI is run. Potentially, you could build a little script that simply writes an entry to the event log, or someother log file, and incorporate it into the MSI. This would require you to create the script and add it as a resource of the BizTalk application BEFORE the MSI is exported. Obviously, this only solves your problem if they are deploying using the MSI, but that is the accepted best practice.

    I have a blog post that explains a little of how this is done here: http://www.quicklearn.com/blog/post/Creating-BizTalk-Installer-Packages-For-Multiple-Physical-Environments.aspx

    Other than building your own logging process I can't think of any other ways to track this kind of thing.

    Rob

    EDIT: This would show you when the MSI was installed on each BizTalk computer, not when changes were made to the BizTalkMgmtDB database.

    Thursday, August 6, 2009 10:00 PM
  • Hi Randal,

    BTW If we use the SQL Profiler we possible can log all changes in the MgmtDB. Never heard of this requirement.
    Leonid Ganeline [BizTalk MVP] My BizTalk blog
    Friday, August 7, 2009 2:38 AM
    Moderator
  • Thanks for the answers, but it seems as if what I'm looking for isn't possible.  The problem with placing a script in a MSI file is that it would fall on the developer to do that. If they didn't put the script in and made a change I would have no way of knowing it occurred.
    Friday, August 7, 2009 3:27 PM
  • If you have BizTalk 2009 on SQL 2008 you could apply SQL Server Audit on the BizTalkMgMtDb (not sure if that is supported by Microsoft):
     http://msdn.microsoft.com/en-us/library/cc280386.aspx

    Maybe auditing the SQL database might not be the best solution here - you should look into restricting who is allowed to apply deployments, make sure there's good deployment documentation, ensure the history of deployment packages and a log of deployments are kept, and that the environment is backed up before every deployment.
    Thiago Almeida - http://connectedthoughts.wordpress.com
    Sunday, August 9, 2009 8:45 PM
    Answerer