登录失败。 用户’NT AUTHORITY SYSTEM’登录失败
我创建了一个Windows服务,我的服务依赖于SQL服务器服务。 首先,SQL启动,然后在启动PC或重新启动PC时启动我的服务。
这工作正常,但问题是Windows服务无法读取数据库文件,抛出exception“无法打开用户默认数据库。登录失败。登录失败,用户’NT AUTHORITY SYSTEM’”当我试图读取数据库时。
如果我启动计算机并登录则无法读取数据库,但如果我已启动计算机并等待几秒钟然后登录窗口服务则会读取数据库。
我打赌你的连接字符串中有这个:
Integrated Security=SSPI
或类似的东西。
现在,服务在( NT AUTHORITYSYSTEM
)下运行的帐户尝试连接到数据库 – 并且不能,因为它没有被授权这样做。
您可以:
要么:
转到数据库下的安全选项卡。
在security
,单击以展开“ Users
选项卡。
寻找天气NT AUTHORITYSYSTEM
在场。
如果没有,请右键单击用户 ,单击新用户
在新用户窗口中, general
选项卡将user type
更改为Windows用户 。
选择要更新的用户名,NT AUTHORITY SYSTEM,您必须在Advanced tab, find now, and select system
找到它Advanced tab, find now, and select system
。
同样对于登录名, browse and find NT AUTHORITYSYSTEM
。
在左侧的成员资格选项卡中,选择所有必需的框,然后单击确定。
这可能会解决您的问题。 希望这可以帮助。
我实际上只是更改了SQL Server中NT AUTHORITY SYSTEM用户的权限,这对我有用。
你可以在连接字符串上添加它
坚持安全信息=真
简单的解决方案是检查您的web.config
文件,并确保其中一个是数据库连接字符串的一部分:
Trusted Connection=false
要么
上述就是C#学习教程:登录失败。 用户’NT AUTHORITY SYSTEM’登录失败分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
Integrated Security=True
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1003100.html