When using a SQL Server specific port and not being able to open SQL browser UDP port 1434 through firewall the Linked Server can fail between SQL Servers in SCCM 2012. For example between a Secondary Site and a Primary Site.

Cause:

This is due to the Linked Server object in SQL is not being setup using the custom portnumber.
This can be seen by opening SQL Mgmt Studio, go to Server Objects, Linked Servers, Providers. Right click the Linked Server object and select “Test Connection”, it shows [Failed] with an error description.

Symptom:

In the logfile rcmctrl.log is this shown.

ERROR: Exception message: [SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]. ~~OLE DB provider “SQLNCLI10” for linked server “SCCMSQL.lab.local\SCCM_PSS” returned message “Login timeout expired”.~~OLE DB provider “SQLNCLI10” for linked server “SCCMSQL.lab.local\SCCM_PSS” returned message “A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.”.~~OLE DB provider “SQLNCLI10” for linked server “SCCMSQL.lab.local\SCCM_PSS” returned message “Invalid connection string attribute”.]

Solution:
Re-create Linked Server object adding the custom sql port.

# Right click and select Script Linked Server as DROP and CREATE to – New Query Editor Window.

# Change and add the custom port:
EXEC master.dbo.sp_addlinkedserver @server = N’SCCMSQL.lab.local\SCCM_PSS’, @srvproduct=N’Any’, @provider=N’SQLNCLI10′, @datasrc=N’SCCMSQL.lab.local,13334\SCCM_PSS’, @provstr=N’Data Source=SCCMSQL.lab.local,13334\SCCM_PSS;Integrated Security=SSPI;Persist Security Info=false;Encrypt=Yes;TrustServerCertificate=No;’

# Verify and Run the script.

# Right click the Linked Server object and select “Test Connection” – It now shows [OK].

# Restart SMS Executive and SMS Component.

Verify the changed settings will take effect in rcmctrl.log.
Launching 2 sprocs on queue ConfigMgrDRSQueue and 0 sprocs on queue ConfigMgrDRSSiteQueue…
There are 2 Drs Activations sprocs running…
Running configuration ConfigureLinkedServers..
Found 1 servers that needs to be linked…
Processing Replication success…