windows服务sql连接问题

时间:2010-11-20 11:00:36

标签: sql-server windows-services

我需要你的帮助!!!!

我想从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时它可以工作但在最终部署中我不能使用用户名和密码。

我该怎么办?

1 个答案:

答案 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"