By default, a SQL named instance uses a dynamic port.  However, some System Center components cannot use a SQL named instance on a dynamic port.  Configuration Manager does not support a SQL dynamic port.  Service Provider Foundation and Service Management Automation both require you to specify the SQL port during installation, not the instance – which makes it very difficult to automate the installation end-to-end.  For this reason, PDT 2.5 added the ability to specify a static port for a SQL named instance.  It also added pre-installation validation to check for static ports on SQL named instances where required.

Specifying a static port is simple.  In the <SQL> section of Variable.xml, on the SQL <Instance> or <Cluster> section, just add the port as in the following examples:

<Instance Server="SPFDB.contoso.com" Instance="SPFDB" Port=”50000” Version="SQL Server 2012">

<Cluster Cluster="SPFDB.contoso.com" Port="50000" Version="SQL Server 2012">

One of the benefits of PDT being able to use static ports on SQL named instances is that it can now be used for full FastTrack reference architecture deployments – which is a request I’ve had a few times.  I’ll be posting a sample Variable.xml file for that scenario soon.