none
DPM requires TCP\IP protocol to be enabled - but it is enabled! RRS feed

  • Question

  • I am updating SCDPM 2010 to 2012 with a remote SQL 2008R2 instance but... it fails on the RemoteDbTCP check.

    DPM requires TCP\IP protocol to be enabled on the selected SQL Server instance. Run SQL Server Configuration Manager tool and enable the network configuration on the selected SQL Server instance.

    The solution seems simple: enable TCP/IP on the remote SQL instance. Because this is an upgrade, however, TCP/IP was already enabled - and still is.

    A quick search on Goog...Bing, sorry, only brings up this old post on Technet that doesn't really contain much information (with Beta, with local SQL,...).

    I'm at loss what the problem is. It's properly configured, always worked - still works even, but I am not getting past this prerequisite screen, no matter how many times I toggle enable/disbale and reboot the SQL server. :(

    Any help would be appreciated.


    My grandmother always used to say: "::1: sweet ::1:"

    Wednesday, February 6, 2013 4:32 PM

Answers

  • As I see my old post I can as well close it. I ha da talk with a SQL admin about it and he knew immediately twhat the problem is. Turns out the port is set dynamically. Change it to static and you can make a firewall rule... .


    My grandmother always used to say: "::1: sweet ::1:"

    • Marked as answer by Jelle Janssens Wednesday, March 13, 2013 8:09 AM
    Wednesday, March 13, 2013 8:09 AM

All replies

  • Hi,

    Did you run SQL Prep Tool on the remote instance of your SQL Server before doing DPM 2010 => 2012 upgrade ?

    Technet link: Upgrading the DPM Database

    Stephane


    Please remember to click “Mark as Answer” on the post that helps you. This posting is provided "AS IS" with no warranties. knowledge is valid only if it is shared by All.

    My DPM blog Yet Another DPM Blog

    Wednesday, February 6, 2013 9:07 PM
  • Yes, I ran the SQL Prep Tool. It would also give an explicit error that the SQL Prep Tool needs to run first if that were the problem.

    Before doing this server I did another one in exactly the same fashion (I created a build guide whilst setting up that one) and there the TCP/IP problem did not appear.

    I'm checking out the log right now and try to figure out what's going on. Perhaps the error is pointing me in the wrong direction.

    [07/02/2013 10:45:38] Data : checkId = RemoteDbTCP
    [07/02/2013 10:45:38] Information : Running the check: RemoteDbTCP
    [07/02/2013 10:45:38] Information : Getting the check for the checkId : RemoteDbTCP
    [07/02/2013 10:45:38] Information : Calling the method: CheckRemoteDbTCP
    [07/02/2013 10:45:38] Information : Check the Named Pipes protocol for remote database.
    [07/02/2013 10:45:59] * Exception : Expecting the following exception. Ignoring intentionally.  => System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
       at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)
       at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
       at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
       at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
       at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
       at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
       at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
       at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
       at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
       at System.Data.SqlClient.SqlConnection.Open()
       at Microsoft.Internal.EnterpriseStorage.Dls.DB.SqlContext.Open()
       at Microsoft.Internal.EnterpriseStorage.Dls.Setup.Inspect.InspectPrerequisites.CheckRemoteDbTCP(InspectContext context)
    [07/02/2013 10:45:59] Information : Adding the check result entry for checkId: RemoteDbTCP and result: 134217760
    [07/02/2013 10:45:59] Information : Getting the error code for check : RemoteDbTCP and result : 134217760
    [07/02/2013 10:45:59] Information : Found Error Code:RemoteDbTCPRequired and Severity: Error
    [07/02/2013 10:45:59] Information : Got Error Message: DPM requires TCP\IP protocol to be enabled on the selected SQL Server instance.Run SQL Server Configuration Manager tool and enable the network configuration on the selected SQL Server instance.
    [07/02/2013 10:45:59] Data : Result = 134217760


    My grandmother always used to say: "::1: sweet ::1:"


    Thursday, February 7, 2013 8:32 AM
  • Hi,

    Verify that tcp chimney is disable on your SQL server.

    netsh int tcp show global

    netsh int tcp set global chimney=disabled

    Stephane


    Please remember to click “Mark as Answer” on the post that helps you. This posting is provided "AS IS" with no warranties. knowledge is valid only if it is shared by All.

    My DPM blog Yet Another DPM Blog

    Thursday, February 7, 2013 10:08 AM
  • Hi Stephane,

    Chimney is on its default automatic. Nevertheless: I managed to get through the installation by disabling the firewall. The error from DPM was unclear, but the logfile showed better that it was a connection issue. Apparently the inbound rules for 2010 are not sufficient for 2012 and I'll have to add extra rules. Right now the following ports are open: 80/tcp, 135/tcp, 137/udp, 138/udp, 139/tcp, 445/tcp, 1433/tcp, 1434/udp, 64001-64003/tcp. i'll dive into the 2012 documentation to see which one I'm missing.

    Kind regards,

    Jelle


    My grandmother always used to say: "::1: sweet ::1:"

    Thursday, February 7, 2013 10:25 AM
  • Hi,

    Verify that SQL server browser is started on your SQL server.

    You should also made a network trace between your DPM and your SQl server to see what happens.

    You don't need to have default SQL ports open 1433/Tcp and 1434/Udp as inbound rule on your DPM server.

    Stephane.


    Please remember to click “Mark as Answer” on the post that helps you. This posting is provided "AS IS" with no warranties. knowledge is valid only if it is shared by All.

    My DPM blog Yet Another DPM Blog

    Thursday, February 7, 2013 11:19 AM
  • Sorry, I was unclear: disabling the firewall on the SQL server was a workaround. It's on the SQL server that ports 80/tcp, 135/tcp, 137/udp, 138/udp, 139/tcp, 445/tcp, 1433/tcp, 1434/udp and 64001-64003/tcp are open but not sufficient.

    On the DPM server there is no firewall issue.

    Edit: Oh, and yes, the SQL Browser Service is started.


    My grandmother always used to say: "::1: sweet ::1:"



    Thursday, February 7, 2013 11:55 AM
  • Ok :)

    For 80/Tcp on your SQL server, did you set this inbound exception rule for all programs (At least you must have Slqservr.exe ) ?

    Otherwise it's time to do a network trace.

    Stephane


    Please remember to click “Mark as Answer” on the post that helps you. This posting is provided "AS IS" with no warranties. knowledge is valid only if it is shared by All.

    My DPM blog Yet Another DPM Blog

    Thursday, February 7, 2013 12:49 PM
  • I had opened incoming 80/tcp for sqlservr.exe within the domain already, yes.

    I'm trying to figure out on the net what other ports are used by DPM on the SQL server, but I only find the ports used on the DPM server itself :/ Perhaps it is time indeed for a network trace - not my favourite part of debugging :(


    My grandmother always used to say: "::1: sweet ::1:"


    Thursday, February 7, 2013 1:24 PM
  • As a "workaround" only for the upgrade you may :

    • Modify SQL 80/Tcp inbound exception rule to accept all programs
    • Disable your SQL Firewall ^^ (Be cautious, I cannot give you any warranties of success).

    Stephane.


    Please remember to click “Mark as Answer” on the post that helps you. This posting is provided "AS IS" with no warranties. knowledge is valid only if it is shared by All.

    My DPM blog Yet Another DPM Blog

    Thursday, February 7, 2013 2:37 PM
  • For the upgrade itself I had turned the firewall  off - or rather made a rule that allowed all traffic. Now I used NetMon today to take a look at the blocking port. Turns out to be port 49345: if I open this port, everything works.

    If I search the net for that port I do not get any relevant hits. I only get the ZIP code for Sparta, Michigan, USA - symbolic for DPM I'd say.

    So I got my environment up and running, with the firewall properly configured. But this was in a lab setting. Soon I'll have to do the upgrade in production and then I want to be sure if this port 49345 needs to be opened or whether it'll be another port. That's quite important to know before upgrading 7 DPM servers using 2 SQL servers.

    In other words: the immediate problem is solved, but I'm still missing some MS documentation on the SQL side ports for DPM. I hope someone from MS (Mike?) could shed a light on this.


    My grandmother always used to say: "::1: sweet ::1:"



    • Edited by Jelle Janssens Monday, February 11, 2013 2:15 PM Added image
    Monday, February 11, 2013 1:40 PM
  • As I see my old post I can as well close it. I ha da talk with a SQL admin about it and he knew immediately twhat the problem is. Turns out the port is set dynamically. Change it to static and you can make a firewall rule... .


    My grandmother always used to say: "::1: sweet ::1:"

    • Marked as answer by Jelle Janssens Wednesday, March 13, 2013 8:09 AM
    Wednesday, March 13, 2013 8:09 AM