I was trying to setup transactional replication between two servers A and B. I setup A as the publisher and distributor. From B, when trying to connect to the distributor on A, I saw the error below:
SQL Server replication requires the actual server name to make a connection to the server. Connections through a server alias, IP address, or any other alternate name are not supported. Specify the actual server name (Replication.Utilities)
I provided the FQDN, created aliases (even though it said not to) on both A and B, specified the instance name, provided maximum privileges to rule out security, etc, etc. After doing a bit of digging around I was finally able to find a solution.
On server A I did select * from sys.servers and found that in the name column, server A was A, which was ok. But what had to be there for B to connect to the distributor on A was the name A.domain.com or the FQDN. What I had to do was drop the server name A and add it again as A.domain.com. To drop the server name use sp_dropserver ‘A’, and then add back with the FQDN sp_addserver ‘A.domain.com’, ‘LOCAL’. When dropping the server, you may get errors like: There are still remote logins or linked logins for the server ‘A’. What fixed this issue in my case was, I had to remove my replication publications. After that, I dropped and then added the FQDN. Restart of the SQL server is required.