SSPI 身份验证错误,且有效帐户不受信任的域

SSPI 身份验证错误,且有效帐户不受信任的域

我正在用 .Net 开发一个程序,它在开发环境中运行良好。它连接到几个数据库(SQL Server)并使用 SSPI 身份验证来实现这一点。当我将此程序本地移动到实际运行 SQL Server 的服务器并在我测试的同一帐户上运行它时(即我确定权限良好),它会抛出一个错误,说由于登录来自不受信任的域,它无法验证登录。

过去,我曾通过在连接字符串中使用 SQL 登录来解决这个问题,但是我厌倦了使用这种肮脏的黑客手段,我想彻底弄清楚为什么当程序在同一台服务器上执行时我的帐户无法连接到数据库。

我很乐意提供解决此问题所需的任何其他详细信息,但我觉得这可能是我不知道的简单问题。

环境是Windows Server 2008,运行.NET 4.0应用程序并尝试连接到SQL Server 2012。

答案1

我以前遇到过这个错误,但忘记了解决方法。出现此错误的原因是我的连接字符串使用了服务器的 DNS 名称而不是实际的计算机名称。当在计算机上本地使用此连接字符串时,它会将其视为未经授权。如果您计划连接到同一台计算机上的服务器,则解决方法是在连接字符串中使用计算机名称而不是 DNS 名称来引用数据库服务器(或者,如果其他计算机上没有其他用户使用相同的连接字符串/应用程序,则您可以只使用 localhost)

相关内容