【问题标题】:How to fix RegCreateKeyEx() returned error 5, 'Access is denied.' in SQL Server 2017如何修复 RegCreateKeyEx() 返回错误 5,“访问被拒绝。”在 SQL Server 2017 中
【发布时间】:2019-03-29 11:59:52
【问题描述】:

我正在尝试在 SQL Server 2017 中使用以下命令将身份验证模式更改为混合模式:

EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', 
                 N'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQLServer', 
                 N'LoginMode', REG_DWORD, 2

到目前为止我已经执行了这个命令:

EXEC sp_addsrvrolemember 'NT AUTHORITY\SYSTEM', 'sysadmin';
GRANT EXECUTE ON xp_instance_regwrite TO public

重新启动 SQL 服务后,我仍然收到此错误:

RegCreateKeyEx() 返回错误 5,“访问被拒绝。”

我已将所有权限授予 SQL 中的所有用户,这与 SQL 或 Windows 有关吗?我该如何解决?

【问题讨论】:

标签: sql sql-server sql-server-2014 sql-server-2017


【解决方案1】:

为了工作,我必须更改执行 SQL 后台服务的用户。单击 Windows -> 搜索 Services 并找到 MS SQL Server 并右键单击并更改属性,在此您可以将 sql 用户更改为具有管理员权限的人。不是最好的方法,但确实有效。

【讨论】:

  • 我不知道“SQL后台服务”是什么,但是更改SQL Server、SQL Agent和其他SQL Server启动帐户需要使用SQL Server配置管理器。通过 services.msc 更改启动帐户不会分配所需的注册表权限。稍后使用 services.msc 可能会导致对密钥的访问被拒绝。我并不是说这里发生了这种情况——我只是为以后阅读这篇文章的人添加一个“买者自负”的警告。
猜你喜欢
  • 1970-01-01
  • 2015-06-25
  • 1970-01-01
  • 1970-01-01
  • 2013-07-10
  • 1970-01-01
  • 2021-09-04
  • 1970-01-01
  • 2017-02-24
相关资源
最近更新 更多