Bah*_*har 4 sql-server windows-services
我需要你的帮助 !!!!
我想从Windows服务连接到SQL服务器,但它抛出以下异常:
用户'NT AUTHORITY\ANONYMOUS LOGON'登录失败.
我的连接字符串声明如下:
<add name="CoreConnectionString"
connectionString="Data Source=10.10.2.102;Initial Catalog=DataBaseName;
Integrated Security=True"
providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)
当我使用用户名和密码而不是Integrated Security = True它可以工作,但在最终部署中我不能使用用户名和密码.
有什么问题我该怎么办?
Integrated Security=True在连接字符串中定义时,当前登录的任何用户都将尝试连接到您的数据库.将其作为控制台或Winforms应用程序运行时,这是您自己的用户帐户.
但是,如果您将其作为Windows NT服务运行,则它是运行此服务的服务帐户 - 在您的情况下是显而易见的NT AUTHORITY\ANONYMOUS LOGON.
错误说清楚:此用户帐户没有连接到SQL Server的权限.
你有几个选择:
停止您的NT服务并将服务帐户更改为有权访问SQL Server的人
允许NT AUTHORITY\ANONYMOUS LOGON登录到您的SQL Server并使用您的数据库
在SQL Server中创建特定用户(例如"应用程序用户")并更改连接字符串以专门使用该用户:
connectionString="Data Source=10.10.2.102;Initial Catalog=DataBaseName;
user id=Your-Application-User-here;password=The-Secret-Password"
Run Code Online (Sandbox Code Playgroud)