事实:
- 如果我使用普通域用户 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 服务)都在使用同样的模式。