SQL Server 2008:登录名来自不受信任的域,不能与Windows身份验证一起使用


8

这里的问题不同于12

当尝试连接到网络中另一个系统上的SQL Server数据库时,两者都在工作组中,当尝试使用带有Windows身份验证的SQL Server Management Studio连接到SQL Server 2008实例时,我就连接了。

但是当尝试从我的应用程序连接时,出现以下错误

(登录失败。登录名来自不受信任的域,不能与Windows身份验证一起使用。)Native = 18452)。

如果SQL Server Management Studio可以连接,我的应用程序要连接需要什么?


我在mssql服务器上使用了相同的帐户后,它开始工作。

Answers:


4

由于您在工作组中运行,因此唯一可能的身份验证是使用“镜像NT帐户”进行的身份验证,这意味着试图进行身份验证的进程必须在正在对进程进行身份验证的主机上以“已镜像”的身份运行。“镜像”帐户是在进行身份验证的两台主机上具有相同名称和密码的不同本地帐户。

因此,必须遵循以下条件:您正在从SQL Server主机上镜像的帐户运行SSMS (例如<computername>\Administrator,通过镜像<sqlhost>\Administrator并具有相同密码的)。请注意,UAC在这里无关紧要(即running as administrator无济于事)。

您的应用程序可能正在其他本地帐户下运行(也许是默认的IIS appool?),并且该应用程序所运行的帐户未在SQL Server主机上进行镜像。

最好的解决方案是放弃临时网络并部署适当的AD(域)。作为过渡,确保您的帐户下运行应用程序 thew SQL Server主机上的镜像。


是的,身份验证需要镜像!我的应用程序即服务是在与SQL Server Management Studio不同的Windows account(x)下运行的。该Windows帐户(x)也存在于另一个系统中,但是两者具有不同的密码!我在两个系统中都设置了相同的密码,并且可以正常工作。非常感谢!

5

如果使用Windows 7,则可能必须“以管理员身份运行”。这将允许该应用程序重复使用Windows凭据并将其传递给SQL Server。否则,您会将来宾凭据传递给SQL Server。


3
不太可能。UAC仅影响本地交互。它不影响与远程主机的身份验证。
Remus Rusanu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.