微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用带有服务的本地系统连接到 SQL Server 会引发错误 18456,状态 38

如何解决使用带有服务的本地系统连接到 SQL Server 会引发错误 18456,状态 38

事实:

  • 如果我使用普通域用户 XYZ,“以身份登录”该服务一切正常,这意味着数据库存在且连接字符串良好。
  • 如果我使用本地服务,我会收到错误 18456,状态 38
  • 我已经创建了 <DOMAIN>\<Machine>$登录帐户
  • 我已授予 <DOMAIN>\<MACHINE>$ 与 XYZ 相同的权限,包括用户映射到数据库、服务器角色、安全对象和状态

我的连接字符串是:

"SERVER=localhost;DATABASE=<TARGET_DATABASE>;TRUSTED_CONNECTION=True;Persist Security Info=False;"

错误信息说:

Login Failed for user '<DOMAIN>\<MACHINE>$'. Reason: Failed to open the explicitly specified database '<TARGET_DATABASE>'. [CLIENT: <local machine>]

注意:在上面:[CLIENT: <local machine>] 是实际文本,未替换。

其他注意事项

这来自一个通过 WIX 安装程序安装的网站。安装程序安装服务,我可以选择要使用的帐户,目前它使用“本地系统”,但如果这是不好的做法,我们可以更改它,但看起来其他所有服务(sql 服务除外)都在使用同样的模式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。