Migrate BizTalk ESB Databases – Guide

We all know BizTalk log shipping is Microsoft’s only supported method for BizTalk Disaster Recovery.
okay, in case you might want to migrate ESB databases? Well, you can use the below steps. this article is written upon the learnings from migrating BizTalk 2013 R2 ESB Databases from SQL 2012 to SQL 2014
 

1.1 Change ESB Toolkit References

1.1.1     ESB Toolkit  Configuration Files

  1. On every computer where ESB Toolkit is configured, navigate to C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.0, and make a backup of the file esb.config before any modification.
  2. Open the esb.config file for editing.
  3. Under the ConnectionString node, change the Data Source attribute to point to the new Database cluster:
    <connectionStrings>
      <add name="ItineraryDb" connectionString="Data Source=NEWDBSERVER;Initial Catalog=EsbItineraryDb;Integrated Security=True"
        providerName="System.Data.SqlClient" />
      ...
    </connectionStrings> 
  4. Save the edited file.
  5. On every computer running BizTalk Server, navigate to C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.0\Bin, and make a backup of the file “ESBConfigurationTool.exe.Config”  before any modification.
  6. Open the ESBConfigurationTool.exe.Config file for editing.
  7. Change below keys to point to the new SQL Cluster:
    <add key="ServerInstance" value="NEWDBSERVER" />
    <add key="ItineraryServerInstance" value="NEWDBSERVER" />
  8. Save the edited file.

1.1.2     ESB Portal Configuration Files 

  1. On every computer where ESB Portal is configured, navigate to C:\inetpub\wwwroot\esb.portal make a backup of the file Web.config before any modification
  2. Open the Web.config file for editing.
  3. Under connectionStrings node, change the Data Source attribute to point to the new Database cluster
    <connectionStrings>
    ...
    <add name="AdminDatabaseServer" connectionString="Network Library=dbmssocn;Data Source=NEWDBSERVER;Integrated Security=True;Initial Catalog=ESBAdmin;" providerName="System.Data.SqlClient"/>
    ...
    </connectionStrings>
  4. Save the edited file.
  5. Repeat Step 1-3 for the file C:\inetpub\wwwroot\esb.portalONO\Web.config

UDDI database migration:  migrating UDDI databases from one SQL environment to another SQL environment (manually) 

1.1.3     UDDI Services Registry Information 

On every computer where UDDI service is configured, modify below Registry Key to point to the new SQL Cluster

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UDDI\Database\ReaderConnectionString
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UDDI\Database\WriterConnectionString
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UDDI\Setup\WebServer\databaseName

1.1.4     Custom Configurations files

On every computer where Custom application is installed (BizTalk Servers), modify existing connection Strings in configuration files to point to new SQL Server:

  1. Make a backup of *.config before any modification
  2. Edit each configuration file and modify “Data Source” attribute to point to the new SQL Cluster.

    Note: The easy way to accomplish this is replacing all occurrences of   ‘OLDDBServer’ by ‘NEWDBSERVER’.

  3. Save the edited file.

Folders containing configuration files with connection strings pointing to old SQL Cluster:

  • C:\program files (x86)\Microsoft BizTalk Server 2009\
  • C:\Program Files (x86)\Microsoft BizTalk Server 2009\Tracking
  • C:\Program Files (x86)\Microsoft BizTalk Server 2009\BAMPortal\BAMManagementService
  • C:\Program Files (x86)\OL\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform Auditoria\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform Averias\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform Avisos\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform Comisiones\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform eBilling\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform Home\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform NBA\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform Ordenes\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform Pasaporte\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform Perfil\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform Tickets\1.0\Deployment\Configuration
  • C:\Program Files (x86)\Services Platform User Management\1.0\Deployment\Configuration
  • C:\Program Files (x86)\ONO.SaaS\1.0

1.1.1     ESB Send Ports

Modify “ALL.Exceptions” Send Port  (under “Microsoft.Practices.ESB” BizTalk Application) to point to the new SQL Cluster “NEWDBSERVER”