The Curious Case of… the failing SQL Server 2019 install

(The Curious Case of… used to be part of our bi-weekly newsletter but we decided to make it a regular blog post instead so it can sometimes be more frequent. It covers something interesting one of us encountered when working with a client, doing some testing, or were asked in a random question from the community.)

This time the Curious Case is about something that happened to me: a failing SQL Server 2019 install.

I have a brand new Windows 10 laptop that I use solely for teaching, as the HDMI and SVGA connectors on my main laptop somehow have bad connections to the motherboard after a few years of traveling around the world. On the new laptop I have SQL Server 2017, and now that SQL Server 2019 RTM has shipped, and I’ve finished teaching for the year, I set out to install 2019 side-by-side with 2017 so I can move my teaching environment to 2019 and work on demos of the new features pertinent to what I teach.

Thinking this would be a smooth process, I kicked off the install wizard, went through it, hit go, and walked away. I came back half an hour later to see that all install steps had failed. I thought maybe it was some dependency issue, so did it all again, hit go and watched. Almost instant failure again.

The setup summary had this really unhelpful summary:

Overall summary:
Final result: Failed: see details below
Exit code (Decimal): -2068643839
Start time: 2019-11-23 14:27:14
End time: 2019-11-23 14:30:28
Requested action: Install

Setup completed with required actions for features.
Troubleshooting information for those features:
Next step for sql_inst_java: Use the following information to resolve the error, and then try the setup process again.
Next step for sql_inst_mpy: Use the following information to resolve the error, and then try the setup process again.
Next step for sql_inst_mr: Use the following information to resolve the error, and then try the setup process again.
Next step for AdvancedAnalytics: Use the following information to resolve the error, and then try the setup process again.
Next step for SQLEngine: Use the following information to resolve the error, and then try the setup process again.
Next step for Replication: Use the following information to resolve the error, and then try the setup process again.
Next step for SNAC_SDK: Use the following information to resolve the error, and then try the setup process again.

So I dug in to the Detail.txt file in C:\Program Files\Microsoft SQL Server\150\Setup Bootstrap\Log\20191123_142713 and eventually found the first thing that failed:

(01) 2019-11-23 14:30:23 Slp: Running Action: Install_sqlncli_Cpu64_Action
(01) 2019-11-23 14:30:23 Slp: SetFeaturePropsModifyInstallAction for sqlncli_Cpu64 
(01) 2019-11-23 14:30:23 Slp: Sco: Attempting to create base registry key HKEY_LOCAL_MACHINE, machine 
(01) 2019-11-23 14:30:23 Slp: Sco: Attempting to open registry subkey 
(01) 2019-11-23 14:30:23 Slp: Sco: Attempting to open registry subkey SOFTWARE\Microsoft\Microsoft SQL Server\RefCount\SNAC11
(01) 2019-11-23 14:30:23 Slp: Sco: Attempting to create base registry key HKEY_LOCAL_MACHINE, machine 
(01) 2019-11-23 14:30:23 Slp: Sco: Attempting to open registry subkey 
(01) 2019-11-23 14:30:23 Slp: Sco: Attempting to open registry subkey SOFTWARE\Microsoft\VisualStudio\14.0
(01) 2019-11-23 14:30:23 Slp: Sco: Attempting to get registry value InstallDir
(01) 2019-11-23 14:30:23 Slp: Checkpoint: PREINSTALL_SQLNCLI_CPU64_ACTION
(01) 2019-11-23 14:30:23 Slp: Sco: Waiting for service 'msiserver' to accept the stop request.
(01) 2019-11-23 14:30:23 Slp: Sco: Attempting to open SC Manager
(01) 2019-11-23 14:30:23 Slp: Sco: Attempting to open service handle for service msiserver
(01) 2019-11-23 14:30:23 Slp: Invoking QueryServiceStatus Win32 API
(01) 2019-11-23 14:30:23 Slp: Sco: Attempting to close service handle for service msiserver
(01) 2019-11-23 14:30:23 Slp: Sco: Attempting to close SC Manager
(01) 2019-11-23 14:30:23 Slp: Target package: "E:\1033_ENU_LP\x64\setup\x64\sqlncli.msi"
(01) 2019-11-23 14:30:23 Slp: InstallPackage: MsiInstallProduct returned the result code 1602.
(01) 2019-11-23 14:30:23 Slp: No retry-able MSI return code detected.
(01) 2019-11-23 14:30:23 Slp: ExecuteActionWithRetryHelper.Failed actionToExecute is 'Install_sqlncli_Cpu64_Action', stack trace    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.<>c__DisplayClass2_0.<ExecuteActionWithRetryHelper>b__0()
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(ActionWorker workerDelegate)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionWithRetryHelper(WorkflowObject metaDb, ActionKey action, ActionMetadata actionMetadata, TextWriter statusStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionEngine.RunActionQueue()
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.<>c__DisplayClass2_0.<ExecuteActionWithRetryHelper>b__0()
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(ActionWorker workerDelegate)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionWithRetryHelper(WorkflowObject metaDb, ActionKey action, ActionMetadata actionMetadata, TextWriter statusStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionEngine.RunActionQueue()
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.Workflow.RunWorkflow(WorkflowObject workflowObject, HandleInternalException exceptionHandler)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.<>c__DisplayClass2_0.<ExecuteActionWithRetryHelper>b__0()
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(ActionWorker workerDelegate)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionWithRetryHelper(WorkflowObject metaDb, ActionKey action, ActionMetadata actionMetadata, TextWriter statusStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionEngine.RunActionQueue()
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.Workflow.RunWorkflow(WorkflowObject workflowObject, HandleInternalException exceptionHandler)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.<>c__DisplayClass2_0.<ExecuteActionWithRetryHelper>b__0()
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(ActionWorker workerDelegate)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionWithRetryHelper(WorkflowObject metaDb, ActionKey action, ActionMetadata actionMetadata, TextWriter statusStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionEngine.RunActionQueue()
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.Workflow.RunWorkflow(WorkflowObject workflowObject, HandleInternalException exceptionHandler)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Chainer.Setup.Setup.RunRequestedWorkflow()
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Chainer.Setup.Setup.Run(String[] args)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Chainer.Setup.Setup.Start(String[] args)
(01) 2019-11-23 14:30:23 Slp:    at Microsoft.SqlServer.Chainer.Setup.Setup.Main()
(01) 2019-11-23 14:30:23 Slp: Error: Action "Install_sqlncli_Cpu64_Action" failed during execution.

And this caused everything else to fail.

I went to Control Panel and looked in Apps and Features, and found Microsoft SQL Server 2012 Native Client. Thinking this was likely the issue, I de-installed it and ran 2019 setup again. Bingo! No problems this time.

I did a bit of poking around online and it’s a known issue that’s described in the 2019 release notes – see this Microsoft blog post.

PS Don’t forget to install the GDR hotfix after installing 2019!

3 thoughts on “The Curious Case of… the failing SQL Server 2019 install

Leave a Reply

Your email address will not be published. Required fields are marked *

Other articles

Imagine feeling confident enough to handle whatever your database throws at you.

With training and consulting from SQLskills, you’ll be able to solve big problems, elevate your team’s capacity, and take control of your data career.