It’s one of the common best practices in big enterprises and banks to install SQL server on a custom port rather than the default port 1433 for security reasons.
But when you try to connect the BizTalk administration console via the MMC (especially from a remote machine), you?ll be greeted with some unpleasant message as shown below.
The general principle for connecting to a SQL server instance running on a custom port is by specifying the port number after the instance name separated by a comma. The principle is same in any client application like SQL Management Studio, or even the connection string settings in .NET.
Once you specify the port number after the SQL Server name, you can see the list of databases on the drop down menu, BizTalkmgmtDb will automatically be picked up and you can click “OK” to connect.
The home screen (BizTalk Group Overview) page will display without any issues, but as soon as you try to expand the “Applications” node, you?ll be greeted with the following error message. We experienced the same thing with BizTalk360
, when we try to iterate through the applications using the ExplorerOM api. The main reason for this is the value of SQL server instances are stored in few tables (adm_otherdatabases, adm_group etc) in the BizTalkMgmtDb without any knowledge about the port numbers.
The solution to this issue is by simply creating an Alias for SQL server with custom port number. Open SQL Server Configuration manager and under “SQL Native Client Configuration (32bit)”, right click “Aliases” and click “New Alias”. Then enter the details as shown below (make sure there are no spaces at the end) with your custom port information.
It’s important to create the Alias under 32 bit nodes, since the ExplorerOM is only 32 bit. Once the above alias is create, simply close and open the BizTalk administration console and you’ll be able to iterate through the applications as shown below.
We haven’t tested the run-time capabilities with custom SQL port, but I believe the behaviour must be same.