I've got 4 systems failing to take "Security Update for SQL Server 2008 R2 Service Pack 2 (KB3045313)"
If I try anything related to Setup, uninstall, reinstall I get the same exact failure message. (Below)
All the computers are running fully patched copies of Windows 7 x64 Enterprise, and I'm reasonably sure this is SQL Express.
I show on all of them, the last successful SQL Server patch was KB2977320.
They all fail with the same exact error "SQL Server Setup has encountered the following error: The given key was not present in the dictionary."
I've had our DBA look at it and he thought maybe it was related to the account installing the patch not having sysadmin access to the database, but I think that ended up not being the case, because I can use PSEXEC to run it as "NT Authority\System" and it still fails with the same error.
These 4 computers are some of those thorn in the side systems that each month show up on security reports as missing the same update for more than 30 days.
I’ve included the log file from Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20160831_232434 which is the error that it documents.
(Edit: I had to trim to just the end of the log file because it put this message over the limit)
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
2016-08-31 23:24:41 Slp: --- End of inner exception stack trace ---
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(TextWriter statusStream, ISequencedAction actionToRun)
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionWithRetryHelper(WorkflowObject metaDb, ActionKey action, ActionMetadata actionMetadata, TextWriter statusStream)
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
2016-08-31 23:24:41 Slp: Received request to add the following file to Watson reporting: C:\Users\administrator\AppData\Local\Temp\tmp692E.tmp
2016-08-31 23:24:41 Slp: The following is an exception stack listing the exceptions in outermost to innermost order
2016-08-31 23:24:41 Slp: Inner exceptions are being indented
2016-08-31 23:24:41 Slp:
2016-08-31 23:24:41 Slp: Exception type: System.Collections.Generic.KeyNotFoundException
2016-08-31 23:24:41 Slp: Message:
2016-08-31 23:24:41 Slp: The given key was not present in the dictionary.
2016-08-31 23:24:41 Slp: Stack:
2016-08-31 23:24:41 Slp: at System.ThrowHelper.ThrowKeyNotFoundException()
2016-08-31 23:24:41 Slp: at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Discovery.Sql80DetectionInterface.GetFeatureProperties(String instanceName, List`1& outVal)
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Chainer.Infrastructure.SqlDiscoveryDatastoreInterface.LoadSql80Data(String machineName)
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Chainer.Infrastructure.SqlDiscoveryDatastoreInterface.CollectSqlDiscoveryData(String machineName)
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Chainer.Infrastructure.SqlDiscoveryDatastoreInterface.CollectDiscoveryData(String machineName)
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Chainer.Infrastructure.SqlDiscoveryDatastoreInterface.LoadData(IEnumerable`1 machineNames, String discoveryDocRootPath, String clusterDiscoveryDocRootPath)
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Configuration.SetupExtension.RunDiscoveryAction.ExecuteAction(String actionId)
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
2016-08-31 23:24:41 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(TextWriter statusStream, ISequencedAction actionToRun)
2016-08-31 23:33:19 Slp: Watson Bucket 1
Original Parameter Values
2016-08-31 23:33:19 Slp: Parameter 0 : SQL2008@RTM@KB3045313
2016-08-31 23:33:19 Slp: Parameter 1 : System.ThrowHelper.ThrowKeyNotFoundException
2016-08-31 23:33:19 Slp: Parameter 2 : System.ThrowHelper.ThrowKeyNotFoundException
2016-08-31 23:33:19 Slp: Parameter 3 : System.Collections.Generic.KeyNotFoundException@-2146232969
2016-08-31 23:33:19 Slp: Parameter 4 : System.Collections.Generic.KeyNotFoundException@-2146232969
2016-08-31 23:33:19 Slp: Parameter 5 : RunDiscoveryAction
2016-08-31 23:33:19 Slp:
Final Parameter Values
2016-08-31 23:33:19 Slp: Parameter 0 : SQL2008@RTM@KB3045313
2016-08-31 23:33:19 Slp: Parameter 1 : 0xA0A72FEE
2016-08-31 23:33:19 Slp: Parameter 2 : 0xA0A72FEE
2016-08-31 23:33:19 Slp: Parameter 3 : 0xD05BC945
2016-08-31 23:33:19 Slp: Parameter 4 : 0xD05BC945
2016-08-31 23:33:19 Slp: Parameter 5 : RunDiscoveryAction
2016-08-31 23:33:19 Slp: Sco: Attempting to write hklm registry key SOFTWARE\Microsoft\Microsoft SQL Server to file C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20160831_232434\Registry_SOFTWARE_Microsoft_Microsoft SQL Server.reg_
2016-08-31 23:33:19 Slp: Sco: Attempting to write hklm registry key SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall to file C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20160831_232434\Registry_SOFTWARE_Microsoft_Windows_CurrentVersion_Uninstall.reg_
2016-08-31 23:33:19 Slp: Sco: Attempting to write hklm registry key SOFTWARE\Microsoft\MSSQLServer to file C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20160831_232434\Registry_SOFTWARE_Microsoft_MSSQLServer.reg_
2016-08-31 23:33:19 Slp: Sco: Attempting to write hklm registry key SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server to file C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20160831_232434\Registry_SOFTWARE_Wow6432Node_Microsoft_Microsoft SQL Server.reg_
2016-08-31 23:33:19 Slp: Sco: Attempting to write hklm registry key SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall to file C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20160831_232434\Registry_SOFTWARE_Wow6432Node_Microsoft_Windows_CurrentVersion_Uninstall.reg_
2016-08-31 23:33:19 Slp: Sco: Attempting to write hklm registry key SOFTWARE\Wow6432Node\Microsoft\MSSQLServer to file C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20160831_232434\Registry_SOFTWARE_Wow6432Node_Microsoft_MSSQLServer.reg_
2016-08-31 23:33:20 Slp: The given key was not present in the dictionary.
2016-08-31 23:33:20 Slp: Watson bucket for exception based failure has been created
2016-08-31 23:33:20 Slp: Sco: Attempting to create base registry key HKEY_LOCAL_MACHINE, machine
2016-08-31 23:33:20 Slp: Sco: Attempting to open registry subkey
2016-08-31 23:33:20 Slp: Sco: Attempting to open registry subkey Software\Microsoft\PCHealth\ErrorReporting\DW\Installed
2016-08-31 23:33:20 Slp: Sco: Attempting to get registry value DW0201
2016-08-31 23:33:20 Slp: Submitted 1 of 1 failures to the Watson data repository
2016-08-31 23:33:20 Slp:
2016-08-31 23:33:20 Slp: ----------------------------------------------------------------------
2016-08-31 23:33:20 Slp:
2016-08-31 23:33:20 Slp: Error result: -71883602
2016-08-31 23:33:20 Slp: Result facility code: 951
2016-08-31 23:33:20 Slp: Result error code: 9390