Boxes being used:
Web Box
SQL Box
SQL测试盒
My Application:
连接字符串使用SQL凭据(在Web应用程序和类库中):
connectionString="Data Source=(SQL Test Box);Initial Catalog=(db name);Persist Security Info=True;User ID=ID;Password=Password"
providerName="System.Data.SqlClient" />
此连接通过将其添加到服务器资源管理器确认为正常工作 . 这是我的.dbml文件正在使用的连接字符串 .
The problem:
我收到以下错误:
System.Data.SqlClient.SqlException: Login failed for user 'DOMAIN\MACHINENAME$'.
但我感到困惑,因为我检查了SQL Box和SQL Test Box SQL Management Studio,并且在安全性 - >登录下都有 NT AUTHORITY/NETWORK SERVICE ,在数据库级别,未在安全 - >用户下列出,但在数据库级别安全性 - >用户我将用户显示在连接字符串中 .
在Web服务器上的NTFS级别,权限使NETWORK SERVICE具有完全控制权 .
我之所以感到困惑,是因为我的Web服务器上有许多其他Web应用程序,它们在SQL Box和SQL Test Box上引用数据库,它们都可以工作 . 但除了我使用类库之外,我找不到它们和我当前的应用程序之间的区别 . 那会有关系吗?检查NTFS权限,服务器和数据库级别的安全登录设置,连接字符串和连接方法(SQL Server凭据)以及IIS应用程序池和其他文件夹选项都是相同的 .
为什么这些应用程序在没有将machinename $添加到我的任何一个SQL框的权限的情况下工作?但这就是一个链接告诉我要解决这个问题的方法 .