SQL Server 2012 Upgrade: The RPC Server is Unavailable

2015-11-09 0 Comments

Over the weekend, I was running a SQL 2012 upgrade and encountered an issue I've not had before. The setup/install had gotten pretty far in and I thought everything was fine. But then it stopped and I got this error:

The RPC Server is Unavailable

A quick search turned up some articles indicating I should check the following:

  • Make sure services are running: "Remote Procedure Call (RPC)", "Windows Management Instrumentation", "TCP/IP NetBIOS Helper", and "DCOM Server Process Launcher"
  • Mare sure appropriate ports are open for "Allow inbound remote administration exception" and "Allow inbound file and printer sharing exception"
    • TCP ports 135, 139, and 445
    • UDP ports 137 and 138

All of the services were running, as expected. But I wasn't sure about the ports. I got some assistance from the network team, and they confirmed the ports were open for outgoing traffic. I clicked the retry button a handful of times and they didn't see any incoming traffic. Hmmm... What now? Wait, what's this in the installation log?

(01) 2015-11-08 10:30:25 Slp: Exception type: Microsoft.SqlServer.Configuration.Sco.ScoException
(01) 2015-11-08 10:30:25 Slp: Message:
(01) 2015-11-08 10:30:25 Slp: The RPC server is unavailable.
(01) 2015-11-08 10:30:25 Slp: ----------------------------------------
(01) 2015-11-08 10:30:26 Slp: User has chosen to retry this action
(01) 2015-11-08 10:30:26 Slp: Sco.User.OpenRoot - root DirectoryEntry object already opened for this computer for this object
(01) 2015-11-08 10:30:26 Slp: Sco.User.LookupADEntry - Attempting to find user account DomainB\SqlSvcLogin
(01) 2015-11-08 10:30:26 Slp: Sco: Attempting to check if container 'WinNT://DomainB' of user account exists
(01) 2015-11-08 10:30:29 Slp: Prompting user if they want to retry this action due to the following failure:

Aha! I think I'm starting to see the light. The SQL host is a member of "DomainA", but the logon account for the main SQL Server service is on "DomainB". There's a one-way trust such that DomainA trusts DomainB (but not vice versa). But how do I fix it? What do I do next? The dialog box for the error indicates I can click "Cancel" and the setup/install will continue. I'm skeptical. What if the install rolls back, or completes unsuccessfully? Am I going to have to re-install the old SQL version and restore all the db's from backups?

Reluctantly, I clicked the "Cancel" button. The setup/install did complete successfully 1 Whew! It seems like I ran into a similar problem performing a new installation of SQL 2012. When I got to the "Server Configuration" dialogue that lets you specify the service accounts and collation, I got stuck when I tried using a login from a different domain. I ended up using the default accounts just to be able to proceed. After the install finished, I used SQL Server Configuration Manager to change the account login to the one from a different domain--it worked without incident. Perhaps my issues during upgrades and installs are known issues. Or maybe it's not an issue at all and more of a "works as designed" scenario for reasons I'm not aware of. Please add a comment if you have some additional info.

UPDATE: 11/21/2015

A few days after the upgrade, I realized there was something I overlooked.