none
SQL 2012 to 2014 Replication - Agent message code 20084. The process could not connect to Subscriber

    Question

  • Hello,

    I am trying to set up a new transaction push replication from a SQL2012 to SQL2014 DB. We currently have one running and the new one will be running to an identically configured (at least I think so) server. I can logon and query the remote server and I can also link to it with ODBC. I have set up the alias, I have checked the ownership of the remote DB, etc. 

    We are currently getting this message: Agent message code 20084. The process could not connect to Subscriber 'XXXXXX'.

    I'm running SSMS 2014 (12.0.5557.0)

    I have asked the remote company to check the firewall setting for the port we want to use, but that is the only thing I can think of. Or there is a permissions issue that I am missing on the remote server.

    Thank you for any help,

    Albert


    Albert S

    Wednesday, December 6, 2017 10:10 PM

Answers

  • The forcibly closed message means that the port is blocked on the subscriber, SQL Server is down on the subscriber, or the browser service is not running on the subscriber, so the distribution agent can't find it.
    • Marked as answer by Albert S Saturday, December 9, 2017 5:55 PM
    Saturday, December 9, 2017 2:20 AM

All replies

  • Hi Albert,

    >> Agent message code 20084. The process could not connect to Subscriber 'XXXXXX'.

    It seems this issue could be due to the subscriber is inaccessible or the distribution agent process account has insufficient permission to connect to the subscriber. To troubleshoot the issue, you’ll need to check the following:

    1. Make sure the distribution agent process account is a member of the db_owner fixed database role in the distribution database, a member of the PAL and has read permissions on the snapshot share. For more information, please refer to Replication Agent Security Model.
    1. Make sure that the alias for the Subscriber server name is configured correctly in SQL Server Configuration Manager (SSCM). For more information, please refer to Distribution Agent fails with: Error Locating Server/Instance Specified [xFFFFFFFF].
    1. Make sure that SQL Server Brower service is running, TCP/IP and Named Pipes protocols and port are configured properly in SSCM. For more information, please refer to Resolving could not open a connection to SQL Server errors.
    1. Make sure that you have configured the Windows Firewall for the SQL Server port and SQL Browser service.

    If you have any other questions, please let me know.

    Regards,

    Hannah


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Thursday, December 7, 2017 2:47 AM
  • That is most probably security issue. Check if firewall is open for that connection on subscriber (connection is made from distributor). If u using default port try to telnet to 1433 to subscriber from distributor.

    Here are the errors you will receive if u have permission issues etc.

    User dont have permissions to access database at all:

    User have public but missing db_owner on subscriber

    USer do not exists on Subscriber:

    And finally this is how the error looks like if firewall is blocking access or entire Subscriber is down:

    I believe you are getting the last error message.

    Thursday, December 7, 2017 12:56 PM
  • Yes, 

    Here is the error message. We will try some of the suggestions.

    The process could not connect to Subscriber 'xxxxxx'. (Source: MSSQL_REPL, Error number: MSSQL_REPL0)
    Get help: http://help/MSSQL_REPL0
    TCP Provider: An existing connection was forcibly closed by the remote host. (Source: MSSQLServer, Error number: 10054)
    Get help: http://help/10054
    Client unable to establish connection (Source: MSSQLServer, Error number: 10054)
    Get help: http://help/10054

    Thank you,

    Albert


    Albert S

    Thursday, December 7, 2017 4:44 PM
  • Hello,

    Nothing has worked so far. I did a PaPing on the server & port number and it was OK.

    Some Questions:

    1) Do we have to set up the PAL on the subscriber or only the distributor?

    2) Is the replication a different type of connection than SSMS?

    Thank you for any help,

    Albert S


    Albert S

    Saturday, December 9, 2017 12:53 AM
  • The forcibly closed message means that the port is blocked on the subscriber, SQL Server is down on the subscriber, or the browser service is not running on the subscriber, so the distribution agent can't find it.
    • Marked as answer by Albert S Saturday, December 9, 2017 5:55 PM
    Saturday, December 9, 2017 2:20 AM
  • 1. Did you set alias in 64 bit of configuration manager?

    2. Check for any blank spaces in the alias.

    SSMS is a  32 bit application hence it communicates with a remote server on 32 bit alias name.

    As you have mentioned that you are able to connect to the remote server via SSMS hence there could not be an issue with the connection.


    aa

    Saturday, December 9, 2017 5:55 AM
  • Hello,

    Thank you everyone for the suggestions. Looks like they didn't have all the services on the same port - they had moved some to the port we wanted to use, but not others.

    Albert


    Albert S

    Saturday, December 9, 2017 5:55 PM