我无法摆脱这个错误.我通过SSMS添加了"NT AUTHORITY\NETWORK"用户,以及使用此线程作为参考的相关角色:用户'NT AUTHORITY\NETWORK SERVICE'登录失败
我试图通过Windows服务建立数据库连接.在调试模式下,DB连接正常.当我实际尝试并运行已安装的服务时,我收到此错误.
这是我在app.config中的连接字符串:
我也尝试添加User ID=myDomain\myUsername;
连接字符串,但这没有帮助.
首先阅读使用LocalDB 的安全限制的描述.阅读让我觉得可能无法使用"NT AUTHORITY\NETWORK SERVICE"; 我不确定.我想你需要使用你的凭据.
不要太明显,但如果您使用集成身份验证,则运行该服务的凭据必须匹配有权访问该数据库的凭据.如果你不想使用的服务凭证(也就是你希望它为"NT AUTHORITY\NETWORK SERVICE"下运行),那么你就需要添加:"NT AUTHORITY\NETWORK SERVICE"作为用户与充分访问数据库MyDB.
如果可能,首先将该用户设置db_owner
为MyDB.如果可行,则开始将SSMS中的权限调整为较低级别.如果这不起作用,则数据库配置出现其他问题.还要确保用户"NT AUTHORITY\NETWORK SERVICE"具有对MyDB正在使用的文件的文件系统访问权限.
此外,你最后有一个额外<remove name="SqlServer" />
的...不确定这是否是故意的.