I’ve been meaning to patch some of my development instances. With a little spare time while doing other work, I started the process the other day. My first step was to patch SQL Server 2016 with SP2.
This went as many patches have gone for me, which is fairly boring and easy. Other than having to wait to accept the R terms and then clicking next, it was quick. Afterwards I rebooted.
Then things got interesting. I started the SQL 2017 CU6 patch. This extracted, as other patches have, but then I got a message that I wasn’t running this under enough permissions. To be clear, after extraction, the SP2 patch did give me a UAC prompt.
I stopped and then re-ran the patch, right clicking and running as administrator. After a few Nexts, I got this screen:
I haven’t seen a patch ask me to stop SSMS. I’m still not clear if this is necessary, but I did stop SSMS. The patch worked fine, and strangely, re-running the patch later didn’t produce the same messages.
Odd, but things seemed to work and my system was patched, though even without SSMS, I still had a pending reboot.
Any thoughts or explantions appreciated.
Regarding the need to stop SSMS, even though it is now distributed independently, it is still part of SQL Server 2017 (in the same directory structure, sharing some of the same files). By default, it is located at:
C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe
Using Notepad++, I searched the SQL Server 2017 CU 6 log file ( C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log\20180504_022000\Detail.txt ) with the following regular expression:
.+Checking the.+\\tools\\binn\\management.+\.dll
and it returned 4 lines:
Checking the locked status of “c:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Chainer.Infrastructure.dll”
Checking the locked status of “c:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Configuration.Sco.dll”
Checking the locked status of “c:\Program Files\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Chainer.Infrastructure.dll”
Checking the locked status of “c:\Program Files\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Configuration.Sco.dll”
The implication is that SSMS 2017 locks those files while running and so they can’t be replaced if it is running.
——-
Regarding the need to run as an Administrator and the reboot, I do not know why for either, but I also found the following in the log file (which shows that for whatever reason, I did not need to reboot):
Running Action: GatherUserSettings
Start rule execution, total number of rules loaded: 7
Initializing rule : Setup administrator
Rule is will be executed : True
Init rule target object: Microsoft.SqlServer.Configuration.SetupExtension.FacetAdminCheck
Rule ‘ThreadHasAdminPrivilegeCheck’ Result: Running thread has administrator privilege.
Evaluating rule : ThreadHasAdminPrivilegeCheck
Rule running on machine: ALBRIGHT
Rule evaluation done : Succeeded
Rule evaluation message: The account running SQL Server Setup has administrator rights on the computer.
Send result to channel : RulesEngineNotificationChannel
Initializing rule : Restart computer
Rule is will be executed : True
Init rule target object: Microsoft.SqlServer.Configuration.SetupExtension.FacetRebootRequired
Rule ‘RebootRequiredCheck’ results: IsRebootNotRequired=True
Evaluating rule : RebootRequiredCheck
Rule running on machine: ALBRIGHT
Rule evaluation done : Succeeded
Rule evaluation message: The computer does not require a restart.
Send result to channel : RulesEngineNotificationChannel
LikeLike
The reboot is for pending changes. For me, this was a previous update. I didn’t need to reboot after for the instance to restart.
I’m sure there are dependencies still, I’m just surprised because I hadn’t seen this with other CUs/SPs.
LikeLike