Old, unnecessary SQL Server windows updates keep failing - any ideas?

  • Background

    • My organization tightly controls what’s on our internal windows update server.
    • The version of SQL Server that I have installed is Microsoft SQL Server 2017 (RTM-CU20) (KB4541283) - 14.0.3294.2 (X64)   Mar 13 2020 14:53:45   Copyright (C) 2017 Microsoft Corporation  Developer Edition (64-bit) on Windows 10 Enterprise 10.0 <X64> (Build 17134: ) (Hypervisor)
    • For some reason old GDR updates think they need to apply, and even CU 19. They both fail.
    • They continually auto-retry and fail, causing massive disk thrashing while Update Orchestrator creates lots of event trace files (when I inspect resource monitor) failing with error 0x80070643.
    • If I try to download these updates and install manually, they refuse to let me tick any boxes, because I already have the latest version, and there's nothing to update.
    • We’ve experienced this routine with KB4038634, KB4293803, KB4505224.
    • Currently getting this, even though I have CU20.
    • WindowsUpdateFail
    • I often have to re-kickstart the windows updates to get them to trigger properly, via disabling some of the Windows Update/Orchestrator services, restarting, renaming c:\windows\softwaredistribution, and C:\Windows\System32\CatRoot , and re-enabling/restarting.
    •  Getting the IT guys to remove older security updates from WSUS is a massive battle, and just moves the problem onto the next update.
    • We are unable to force updates to install easily.
    • We are not allowed to bypass the internal WSUS. I probably can with some registry hacking, as I am an administrator of the machine (but can’t override group policies).
    • On my machine - I cannot remove or hide an update before it's been installed.

     

    What criteria does WU use for a SQL server windows update use to determine it’s needed? Maybe I’m missing a registry entry? Why do SQL Server updates return an error when they aren't needed?

    Does anyone else have experience of this happening?

    I'm lucky this is a local installation on my own laptop and not a customer site. I've yet to attempt uninstall/reinstall/repair of SQL Server, as my experience of that hasn't been so pleasant in the past.

  • I've not had issues with SQL Server and WSUS before so I can't help from the SQL perspective but I have had issues with WSUS before. Is there anything in the windowsupdate.log? That sometimes helps work out what's going on.

    It's normally in the c:\windows folder.

    Thanks

  • The windows update log has been superseded by issuing a powershell command to populate .etl files.

    However, event viewer doesn't display any information when those etl files are loaded, except for the error code (and no descriptive information).

    Hi

    I tried running perfview, to see what was inside, but they made zero sense to me, not sure what's an error and what's expected.

    I did inspect the bits queue, (I found another power shell command!), don't know if that's an error.

    The odd thing is - this is ONLY happening with SQL Server updates, all other windows updates are working fine.

    I don't know if this post is useful or not... https://www.mcbsys.com/blog/2019/02/multiple-windows-10-machines-stuck-downloading-updates-hit-a-transient-error/

    and https://docs.microsoft.com/en-us/powershell/module/bitstransfer/resume-bitstransfer?view=win10-ps

    PS C:\WINDOWS\system32> Get-BitsTransfer -AllUsers

    JobId DisplayName TransferType JobState OwnerAccount
    ----- ----------- ------------ -------- ------------
    ac0dfbef-4c9b-420b-a45a-12b27ab72572 WU Client Download Download Suspended NT AUTHORITY\SYSTEM
    10059a83-a050-4f52-b765-36909d600d8f WU Client Download Download Suspended NT AUTHORITY\SYSTEM
    6573233e-f677-4ec1-807d-b0aff1ef28f4 WU Client Download Download Suspended NT AUTHORITY\SYSTEM

    PS C:\WINDOWS\system32> Get-BitsTransfer -Name "WU Client Download" -AllUsers | Resume-BitsTransfer
    Resume-BitsTransfer : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    At line:1 char:57
    + ... tsTransfer -Name "WU Client Download" -AllUsers | Resume-BitsTransfer
    + ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : PermissionDenied: (:) [Resume-BitsTransfer], UnauthorizedAccessException
    + FullyQualifiedErrorId : ResumeBitsTransferAuthException,Microsoft.BackgroundIntelligentTransfer.Management.ResumeBitsTransferCommand

    Resume-BitsTransfer : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    At line:1 char:57
    + ... tsTransfer -Name "WU Client Download" -AllUsers | Resume-BitsTransfer
    + ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : PermissionDenied: (:) [Resume-BitsTransfer], UnauthorizedAccessException
    + FullyQualifiedErrorId : ResumeBitsTransferAuthException,Microsoft.BackgroundIntelligentTransfer.Management.ResumeBitsTransferCommand

    Resume-BitsTransfer : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    At line:1 char:57
    + ... tsTransfer -Name "WU Client Download" -AllUsers | Resume-BitsTransfer
    + ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : PermissionDenied: (:) [Resume-BitsTransfer], UnauthorizedAccessException
    + FullyQualifiedErrorId : ResumeBitsTransferAuthException,Microsoft.BackgroundIntelligentTransfer.Management.ResumeBitsTransferCommand
  • Update - been scouring all parts of the PerfView, found this.

    WUTraceLogging\ComAPI

    ThreadID="11,972" ProcessorNumber="0" Info="*FAILED* [8024500C] Method failed [CSLSClientProxy::GetSLSDataChunk:254]"

     

    But all google searches point to a bug that's already been fixed.

    Another trace

    WUTraceLogging/DataStore

    ThreadID="14,436" ProcessorNumber="0" Info="Failed to find update with partial global id of 3D854509-0F65-46D6-B804-83B3E28C47E0"

    and about 20 more of the same.

    I'm also seeing this message describe in this blog post. https://jacoby.github.io/windows/2017/11/02/fixing-that-windows-update-problem.html

     

    And in other etl files

    Lots of this:

    ThreadID="8,328" ProcessorNumber="0" Info="*FAILED* [80004001] ISusInternal:: IsImmediateInstallPreferred"

    ThreadID="8,328" ProcessorNumber="0" Info="Failed to find update with  global id of 13B5DD3E-DECF-4C43-BBFD-4A2E3B9ACF1B.200 (sessiondata = (null))"

     

    I'm considering uninstalling sql server and seeing if these updates vanish, re-installing sql server, and see if they come back.

     

  • Hi (this post was my first reply but the forum thought it was spam! and I couldn't re-instate it)

    The windows update log has been superseded by issuing a powershell command to populate .etl files.

    However, event viewer doesn't display any information when those etl files are loaded, except for the error code (and no descriptive information).

    I tried running perfview, to see what was inside, but they made zero sense to me, not sure what's an error and what's expected.

    I did inspect the bits queue, (I found another power shell command!), don't know if that's an error.

    The odd thing is - this is ONLY happening with SQL Server updates, all other windows updates are working fine.

    I don't know if this post is useful or not... https://www.mcbsys.com/blog/2019/02/multiple-windows-10-machines-stuck-downloading-updates-hit-a-transient-error/

    and https://docs.microsoft.com/en-us/powershell/module/bitstransfer/resume-bitstransfer?view=win10-ps

    PS C:\WINDOWS\system32> Get-BitsTransfer -AllUsers

    JobId DisplayName TransferType JobState OwnerAccount
    ----- ----------- ------------ -------- ------------
    ac0dfbef-4c9b-420b-a45a-12b27ab72572 WU Client Download Download Suspended NT AUTHORITY\SYSTEM
    10059a83-a050-4f52-b765-36909d600d8f WU Client Download Download Suspended NT AUTHORITY\SYSTEM
    6573233e-f677-4ec1-807d-b0aff1ef28f4 WU Client Download Download Suspended NT AUTHORITY\SYSTEM

    PS C:\WINDOWS\system32> Get-BitsTransfer -Name "WU Client Download" -AllUsers | Resume-BitsTransfer
    Resume-BitsTransfer : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    At line:1 char:57
    + ... tsTransfer -Name "WU Client Download" -AllUsers | Resume-BitsTransfer
    + ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : PermissionDenied: (:) [Resume-BitsTransfer], UnauthorizedAccessException
    + FullyQualifiedErrorId : ResumeBitsTransferAuthException,Microsoft.BackgroundIntelligentTransfer.Management.ResumeBitsTransferCommand

    Resume-BitsTransfer : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    At line:1 char:57
    + ... tsTransfer -Name "WU Client Download" -AllUsers | Resume-BitsTransfer
    + ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : PermissionDenied: (:) [Resume-BitsTransfer], UnauthorizedAccessException
    + FullyQualifiedErrorId : ResumeBitsTransferAuthException,Microsoft.BackgroundIntelligentTransfer.Management.ResumeBitsTransferCommand

    Resume-BitsTransfer : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    At line:1 char:57
    + ... tsTransfer -Name "WU Client Download" -AllUsers | Resume-BitsTransfer
    + ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : PermissionDenied: (:) [Resume-BitsTransfer], UnauthorizedAccessException
    + FullyQualifiedErrorId : ResumeBitsTransferAuthException,Microsoft.BackgroundIntelligentTransfer.Management.ResumeBitsTransferCommand
  • Sorry I had forgotten about the change from windowsupdate.log to etl.

    Are there any other SQL installs using the same WSUS server? Do you know which version of WSUS Server is running?

    Can you see whether the errors you included are from the WSUS client process that downloads new updates or the client process which reports which updates are completed? Unless something has changed recently they run as two separate processes so if the reporting process fails the download process picks up the update again.

    Again, unless something changed recently, there are two commands which allow you to start either process manually from the command line. However please be aware that I think these are undocumented by Microsoft so you may want to check on them before using them. The commands are:

    wuauclt /detectnow - Check for any new updates and download them

    wuauclt /reportnow - Report updates that have been installed and any errors

    Occasionally I've fixed WSUS issues (not SQL specific) by updating/reinstalling the WSUS client. Not necessarily recommended though just something I've done when nothing else would work.

    If I'm just repeating things that you already know and you would rather wait for someone with more specific SQL knowledge then let me know and I won't post further.

Viewing 6 posts - 1 through 5 (of 5 total)

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