BizTalk Server 2013 R2: Installation and Configuration – Optimize the BizTalk Server 2013 R2 environment (Part 17)

This next posts will focus on optimizing some BizTalk Server 2013 R2 configurations. The following recommendations can be used to increase BizTalk Server performance or just to make the platform more resilient to failures. The optimizations listed in this topic are applied after BizTalk Server has been installed and configured.

Install SSO Configuration Application MMC Snap-In

BizTalk Server leverages the Enterprise Single Sign-On (SSO) capabilities for securely storing critical information such as secure configuration properties (for example, the proxy user ID, and proxy password) for the BizTalk adapters. Therefore, the BizTalk Server requires SSO to work properly. BizTalk Server automatically installs SSO on every computer where you install the BizTalk Server runtime.

But it also can keep your own application configuration data in SSO database, let say the usual configurations that we normally keep in a configuration file (“app.config”)). One of the great and useful tools that we normally use for archiving this is a custom tool originally created by Richard Seroter, the: SSO Config Data Store Tool.

However since 2009 that Microsoft released an MMC snap-in to tackle this exact issue: SSO Configuration Application MMC Snap-In provides the ability to add and manage applications, add and manage key-value pairs in the SSO database, as well as import and export configuration applications so that they can be deployed to a different environment.

To install SSO Configuration Application MMC Snap-In you need to:

  • Unzip the SSOConfigurationMMCSnapIn.zip file available in Microsoft page.
  • This file is composed of three zip files, so after unzipping the first file you should unzip also the SSOMMCSnapInSetup.zip file.
  • Run as Administrator the setup.exe or SSOMMCSnapInSetup.msi file
  • In the Welcome to the SSO Application Configuration Setup Wizard page, click “Next”
BizTalk Server 2013 R2 SSO App Snapin
  • In the Select Installation Folder page:
    • Accept the default installation folder or set another one
    • In the “Install SSO Application for yourself, or for anyone who uses this computer” option, select “Everyone”
    • And click “Next”
BizTalk Server 2013 R2 SSO App Snapin
  • In the Enter Company Name page, enter the name of your company and click “Next”
BizTalk Server 2013 R2 SSO App Snapin
  • In the Confirm Installation page, click “Next” to install the SSO Application Configuration MMC Snap-In
BizTalk Server 2013 R2 SSO App Snapin
  • In the installation Complete page, click “Close”
BizTalk Server 2013 R2 SSO App Snapin

However, unfortunately, this tool will not work properly in BizTalk Server 2013 R2, at least running in Windows Server 2012 R2. At first sight it seems that everything is working properly but when you try to create a key-value pair you will see that nothing happens and no key is created:

BizTalk Server 2013 R2 SSO App Snapin

To fix this issue I recompile the SSOMMCSnapIn.dll using the latest version of “Microsoft.EnterpriseSingleSignOn.Interop.dll” available with BizTalk Server 2013 R2 that you can download at Microsoft TechNet Gallery: BizTalk Server 2013 R2: Fix for SSO Configuration Application MMC Snap-In

Update: Notice that this issue it’s also documented here  https://support.microsoft.com/en-us/help/2954101/known-issues-in-biztalk-server-2013 (Known issues in BizTalk Server 2013) and you will find different solutions to solve it.

To solve the issue you just need to overlap the existing SSOMMCSnapIn.dll file, normally present in “C:\Program Files\Common Files\Enterprise Single Sign-On” folder with this version of the file. Now if you try to add a new key-value pair everything will work fine.

BizTalk Server 2013 R2 SSO App Snapin

Configure BizTalk Jobs History (Microsoft SQL Server Agent job history log)

Have you ever notice that you never have present a log history of the Monitor BizTalk Server job?

BizTalk Server 2013 R2 BizTalk Jobs History

The reason why this happens is that BizTalk Server is shipped out with a total of 13 SQL Agent jobs, most of them running each minute, the only exception is the Monitor BizTalk Server job that by default occurs every week on Sunday at 00:00:00.

And to be completely honest there are two problems present:

  • We rarely inspect our environment in the weekend, only in critical situations or customers that have a 25x 7 administration team.
  • By default, the Microsoft SQL Server Agent job history log is configured to
    • “Limit size of job history log” with a maximum of 1000 rows
    • And “Maximum job history row per job” with 100 rows
BizTalk Server 2013 R2 BizTalk Jobs History

Which means that a few minutes after the Monitor BizTalk Server job run successfully or unsuccessfully, it’s historic is overwritten with the row log historical of the remaining 12 jobs. Therefore never expected to have this historic job on Monday when you arrive at the office.

Because BizTalk Server has 13 Jobs to keep a decent and consistent job history log you should increase the “Limit size of job history log” according to the number of existing jobs in your environment, for example at least 1300 for BizTalk Server environment (100 for each job)

To resize the job history log based on raw size

  • In Object Explorer, connect to an instance of the SQL Server Database Engine, and then expand that instance.
  • Right-click SQL Server Agent, and then click Properties.
  • Select the History page, and then confirm that “Limit size of job history log” is checked.
  • In the “Maximum job history log size” box, enter the maximum number of rows the job history log should allow.
  • In the “Maximum job history rows per job” box, enter the maximum number of job history rows to allow for a job.
BizTalk Server 2013 R2 BizTalk Jobs History

To resize the job history log based on time

  • In Object Explorer, connect to an instance of the SQL Server Database Engine, and then expand that instance.
  • Right-click SQL Server Agent, and then click Properties.
  • Select the History page, and then click Automatically remove agent history.
  • Select the appropriate number of Days(s), Week(s), or Month(s).

Force Full Backup BizTalk Server (BizTalkMgmtDb) job

I will not enter in much details in this steep, you can read more about it on my blog at A different way to Force a Full Backup of the BizTalk Server databases.

The standard way is to use the “BizTalkMgmtDb.dbo.sp_ForceFullBackup” stored procedure. However, and unlike what many people think, this stored procedure does not perform a full backup it only marks internally on BizTalk Server databases that the next time the Backup BizTalk Server job runs it will need to perform a full backup of the data and log files. You really need to be aware of two important things:

  • The Backup BizTalk Server job is the only supported method for backing up the BizTalk Server databases. Use of SQL Server jobs to back up the BizTalk Server databases in a production environment is not supported.
  • You can use the SQL Server methods to backup the BizTalk Server databases only if the SQL Server service is stopped and if all BizTalk Server processes are stopped.

An alternative, to help one of my DBA teams I created a custom “Force Full Backup BizTalk Server” job that is composed of two steps:

  • Step 1: Force Full Backup
    • That will call the “BizTalkMgmtDb.dbo.sp_ForceFullBackup” stored procedure
  • Step 2: Backup BizTalk Server
    • That will call the standard Backup BizTalk Server (BizTalkMgmtDb) job
BizTalk Server 2013 R2 BizTalk Force Full Backup BizTalk Server job

You can download the custom “Force Full Backup BizTalk Server (BizTalkMgmtDb)” Job from Microsoft | TechNet Gallery: Force Full Backup BizTalk Server (BizTalkMgmtDb) Job

Related links

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

1 thought on “BizTalk Server 2013 R2: Installation and Configuration – Optimize the BizTalk Server 2013 R2 environment (Part 17)”

  1. Hi Sandro, I have a query not exactly related to BizTalk 2013 R2 installation but around the versions of .Net Framework that it supports. In one of our clients BizTalk production servers we are planning to install .Net 4.6.1. Would that cause any problems ?

Leave a Reply

Your email address will not be published. Required fields are marked *

turbo360

Back to Top