5

没想到在 Windows 10 上安装 SQL Server 2016 Express Edition 时会这么糟糕。我安装了 SQL Server 2014 和 SQL Server 2012,主要使用 SQL Server 2014。然后我想我应该升级并尝试安装 SQL服务器 2016。然后我收到此错误:

试图执行未经授权的操作错误。

尝试对此进行搜索,并且有关于修改注册表项权限的建议,因此我确实尝试修改了一些与 SQL Server 相关的注册表项的一些权限,但这没有任何区别。

然后我继续搜索,发现有人暗示这可能是版本冲突问题,所以我卸载了所有SQL Server 安装,包括 2016 版本(未成功安装)并重新开始。

现在两天多后,我仍然无法安装 SQL Server。

以下是详细日志中时间线与 Windows 事件日志错误中的时间线匹配的部分;无法粘贴整个详细日志,因为它太长了。

EDIT1:经过更多搜索,这是实际抛出的异常:

Exception type: Microsoft.SqlServer.Configuration.Sco.ScoException
(01) 2016-10-23 10:36:52 Slp:     Message: 
(01) 2016-10-23 10:36:52 Slp:         Attempted to perform an unauthorized operation.
(01) 2016-10-23 10:36:52 Slp:     HResult : 0x84bb0001
(01) 2016-10-23 10:36:52 Slp:         FacilityCode : 1211 (4bb)
(01) 2016-10-23 10:36:52 Slp:         ErrorCode : 1 (0001)
(01) 2016-10-23 10:36:52 Slp:     Data: 
(01) 2016-10-23 10:36:52 Slp:       WatsonData = HKEY_LOCAL_MACHINE@SYSTEM\CurrentControlSet\Services\FltMgr
(01) 2016-10-23 10:36:52 Slp:       DisableRetry = true
(01) 2016-10-23 10:36:52 Slp:       HelpLink.EvtType = 0x48BB60BC@0xBB814387
(01) 2016-10-23 10:36:52 Slp:       EMBResult = Cancel
(01) 2016-10-23 10:36:52 Slp:       SQL.Setup.FailureCategory = ConfigurationFailure
(01) 2016-10-23 10:36:52 Slp:       WatsonConfigActionData = INSTALL@CONFIGNONRC@SQL_ENGINE_CORE_INST
(01) 2016-10-23 10:36:52 Slp:       WatsonExceptionFeatureIdsActionData = System.String[]
(01) 2016-10-23 10:36:52 Slp:     Stack: 
(01) 2016-10-23 10:36:52 Slp:         at Microsoft.SqlServer.Configuration.Sco.InternalRegistryKey.OpenSubKey(String subkey, RegistryAccess requestedAccess)
(01) 2016-10-23 10:36:52 Slp:         at Microsoft.SqlServer.Configuration.SqlEngine.Globals.GetSqlRegistryKeyHKLM(ServiceContainer context, String key, String machineName, Boolean createIfNotFound)
(01) 2016-10-23 10:36:52 Slp:         at Microsoft.SqlServer.Configuration.SqlEngine.FilestreamUtils.SetFltMgrAttachWhenLoadedKey(ServiceContainer context)
(01) 2016-10-23 10:36:52 Slp:         at Microsoft.SqlServer.Configuration.SqlEngine.RsFxConfiguration.Install()
(01) 2016-10-23 10:36:52 Slp:         at Microsoft.SqlServer.Configuration.SqlEngine.FilestreamConfiguration.Install()
(01) 2016-10-23 10:36:52 Slp:         at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineSetupPrivate.SetupFilestream(EffectiveProperties properties)
(01) 2016-10-23 10:36:52 Slp:         at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineSetupPrivate.Install_ConfigNonRC_Prepare(EffectiveProperties properties)
(01) 2016-10-23 10:36:52 Slp:         at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineSetupPrivate.Install(ConfigActionTiming timing, Dictionary`2 actionData, PublicConfigurationBase spcb)
(01) 2016-10-23 10:36:52 Slp:         at Microsoft.SqlServer.Configuration.SqlConfigBase.PrivateConfigurationBase.Execute(ConfigActionScenario scenario, ConfigActionTiming timing, ConfigBaseAction action, Dictionary`2 actionData, PublicConfigurationBase spcbCurrent)
(01) 2016-10-23 10:36:52 Slp:         at Microsoft.SqlServer.Configuration.SqlConfigBase.SqlFeatureConfigBase.Execute(ConfigActionScenario scenario, ConfigActionTiming timing, ConfigBaseAction action, Dictionary`2 actionData, PublicConfigurationBase spcbCurrent)
(01) 2016-10-23 10:36:52 Slp:         at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.ExecuteAction(String actionId)
(01) 2016-10-23 10:36:52 Slp:         at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.Execute(String actionId, TextWriter errorStream)
(01) 2016-10-23 10:36:52 Slp:     Inner exception type: System.UnauthorizedAccessException
(01) 2016-10-23 10:36:52 Slp:         Message: 
(01) 2016-10-23 10:36:52 Slp:                 Attempted to perform an unauthorized operation.
(01) 2016-10-23 10:36:52 Slp:         HResult : 0x80070005
(01) 2016-10-23 10:36:52 Slp:         Stack: 
(01) 2016-10-23 10:36:52 Slp:                 at Microsoft.SqlServer.Configuration.Sco.InternalRegistryKey.OpenSubKey(String subkey, RegistryAccess requestedAccess)

SQL 2016 安装错误

4

3 回答 3

1

我很想为此找到一个答案,但任何地方都没有。不是真实的,没有完整的解释。

我唯一能帮忙的是......它必须与从以前的版本升级失败有关,一些潜伏在注册表中的东西。尽管正如我所说,对此没有答案,顺便说一句,我认为这对微软来说是一种耻辱,但有很多人在外面。

最后要在 Windows 10 (Pro) 上安装 SQL 2016 sp 1,我必须完全重建我的 PC 并安装在干净的 Windows 8.1 上运行良好。

然后我进行了 Windows 升级和 SQL 2016,所有已知的同事都运行良好。

这可能是你唯一的答案。

于 2017-04-13T17:01:40.143 回答
0

阅读这篇文章可能会有所帮助

检查您的用户帐户特权和权限(您必须具有设置 Sql Server 的管理权限)

于 2016-10-23T07:57:42.463 回答
0

使用 Sysinternals 的 procmon.exe,我看到此注册表项出现“拒绝访问”错误:“HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Edge”

对我有用的解决方法是:

  1. 运行regedit,将密钥的所有者从“SYSTEM”更改为“Administrator”
  2. 以管理员用户身份运行 SQL Server 安装

Microsoft 有更多信息:设置或更新 SQL Server 实例时尝试执行未经授权的操作错误

于 2021-06-22T16:46:35.350 回答