Sql Server 2016 Service Pack 2 install hangs

  • We have a SQL 2016 server with SP1 CU2 (13.0.4422.0). When I run theinstall for Service Pack 2, the install hangs for hours.

    The screen that it hangs on states-

    Instance MSSQLSERVER: Updating ‘MSSQLSERVER’:PreMsiTimingConfigAction


    The Cancel button is greyed out so the only option I have isto reboot.  After the server reboots, Ihave to run the repair process using SP1 media to get SQL to start.

    The Application event log shows events that say that theservice pack installed successfully. There is an event entry for each SQLcomponent installed that says it completed successfully. The problem, besidesthe install GUI hanging is that these successful events are all time stampedimmediately when I initiate the install. There are no errors reported in the event log.

    What logs should I look at to see what’s happening?


  • Ok, I just looked at my post and see that copy/paste out of MS Word created some funny stuff.
    The dialog box the install hangs on states -
    Instance  MSSQLSERVER: Updating 'MSSQLSERVER': PreSsiTimingConfigAction

    Is there any other information I can supply to provide a clue to what's causing the install failure?

  • Have you checked the logs in setup/Bootstrap folder?

  • Sreekanth B - Tuesday, September 25, 2018 9:55 AM

    Have you checked the logs in setup/Bootstrap folder?

    C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log
    You should be seeing sub folders created as "yyyymmdd_hhmmss" under the folder mentioned above. Locate the folder corresponding to your timestamp and review log files for hints.

  • Yes, that's where the repair wrote a log file to. Ok, I just found the directory with files from the failed install and the detail.txt file looks promising.
    I'm seeing a lot (hundreds) of 'Slp: Sco: File 'd:\9f2ad4cb...does not exist' entries here. It's not reporting this as an error. Is this looking for a previous install directory on the d:\drive?
    The first report of an error is -
    Slp: Error: Failed to run patch request for instance: MSSQLSERVER (exit code: 1073807364)
    then it tries to start the services and returns a Slp: Error: Failed to start the following NT service after patch action: SQLSERVERAGENT

    Thanks for pointing me in the right direction. I'll see if the exit code is a clue.

  • wayne.l.dueck - Tuesday, September 25, 2018 10:38 AM

    Yes, that's where the repair wrote a log file to. Ok, I just found the directory with files from the failed install and the detail.txt file looks promising.
    I'm seeing a lot (hundreds) of 'Slp: Sco: File 'd:\9f2ad4cb...does not exist' entries here. It's not reporting this as an error. Is this looking for a previous install directory on the d:\drive?

    Looks like missing cached files issue. If that's the case, this article should be helpful. https://support.microsoft.com/en-us/help/969052/how-to-restore-the-missing-windows-installer-cache-files-and-resolve-p
    Also, go through this https://www.sqlservercentral.com/Forums/1963109/KB4057113-Installation-Issue-sqlsupportmsi?PageIndex=1 where I recommended a new(Very helpful) tool instead of vbs script approach if you have 100s of missing cached files.
    FYI https://blogs.msdn.microsoft.com/psssql/2018/01/24/sql-setup-toolsuite-introduction-1-fixmissingmsi/

  • Ok, thanks for that info! I've got meetings the rest of the morning but will pursue this further this afternoon. I'll post back what I find.

    Thanks again,

  • I ran the FixMissingMSI tool and it reported all ok. I ran it twice, once pointing it to a SP1 iso I mounted on the server and then a second time pointing at the d:\9f2ad4cb3cc297d8ad74810aa3bb51e6 directory that the detail.txt file refers to. Both times report ok.

    So I've taken another look at the details.txt file to see what it says it can't find. Here is one of the many entries -

    Slp: Sco: File 'd:\9f2ad4cb3cc297d8ad74810aa3bb51e6\1053_SVE_LP\x64\setup\x64\smo_extensions_loc.msi' does not exist

    The directory '9f2ad4cb3cc297d8ad74810aa3bb51e6' exists but the subdirectories referred to do not. I'm not sure what this directory - '9f2ad4cb3cc297d8ad74810aa3bb51e6' is about.

    In reading the manual for the FixMissingMSI tool, it states -

    If you download service packs or CUs from the website, please remember to extract its package using X switch to the folder. For example, below command extract SP1 to SP1 subfolder:
    SQLServer2016SP1-KB3182545-x64-ENU.exe /X

    What I have always done is to copy the service pack to a temp directory on the server and run it as administrator. Should I instead extract it out and then run it? Could this be my problem?


  • Your missing folder is the automatically generated temp folder created by the installer. You will need to reextract to this folder for the missing installation files. 

    This missing file error has caught me a couple of times over the last couple of years. It's a PITA to fix if you don't extract the SP/CU to a named folder.  The auto-generated folder name doesn't tell you which SP or CU is related to it. Since running into this error, I always extract the updates to a named folder like C:\SOURCES\SQL2016SP1CU2, C:\SOURCES\SQL2016SP2, etc.  Then run the updates from these folders. And if space is not an issue, leave the extracted files there.  If space is an issue, delete the files but at least leave the folder names behind. That makes it easier to sort out if the issue happens again, just reextract the files to the folder. 

    I've been using a MS utility called FindSQLInstalls.vbs to identify the missing files. I run this as a precheck to installing updates to ensure I don't get hit with this problem during the maintenance window.

  • I extracted SP 2 to the folder and the installation still hung with the same results.

    How I got it to work was to install SP1 CU8 and that went successfully. Then SP2 installed without any problems.

    Thanks to everyone who offered help on this issue. I appreciate it.

  • SQL 2016 SP2 is a dog.

    I'm, advising people to avoid it.

    Its killed a few SQL servers.

    It throws errors about Master database and in some cases weve had to restore the master.

  • Another reason is your SQL Service is in "Stopping" state. You can kill the task through commandline as an admin using the following method

    1) to find the pid : sc queryex MSSQLSERVER

    2)  taskkill /f /pid [pid]


    After the killing the PID the setup completed successfully for me.

  • check the logs in setup/Bootstrap folder.. you can find current date once folder.. and then check which step it was struck..

Viewing 13 posts - 1 through 13 (of 13 total)

You must be logged in to reply to this topic. Login to reply