(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!
5 thoughts on “The Curious Case of… the failing SQL Server 2019 install”
Thanks! Solved my installation problem
For changing versions smoothly for demos, docker makes life very easy :)
Still relevant – thank you Paul!
As found somewhere else:
Another workaround is copying all files within the (virtual) DVD disk and run the setup from hard disk.
This worked for me without uninstalling anything. Really? Really. :)
also applies to upgrading from 2016 to 2019…