windows服务sql连接问题

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

有什么问题我该怎么办?

mar*_*c_s 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"
    
    Run Code Online (Sandbox Code Playgroud)