我需要你的帮助!!!!
我想从Windows服务连接到sql server,但它抛出以下异常:
用户'NT登录失败 AUTHORITY \ ANONYMOUS LOGON'。
我的连接字符串声明如下:
<add name="CoreConnectionString"
connectionString="Data Source=10.10.2.102;Initial Catalog=DataBaseName;
Integrated Security=True"
providerName="System.Data.SqlClient" />
当我使用用户名和密码而不是Integrated Security = True时它可以工作但在最终部署中我不能使用用户名和密码。
我该怎么办?
答案 0 :(得分:9)
在连接字符串中定义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"