对SQL Server的集成Windows身份验证

时间:2010-08-01 13:01:37

标签: c# sql-server exception-handling ado.net windows-authentication

我有一个在SQL Server上使用数据库的应用程序,我希望用户使用集成的Windows身份验证连接到该服务器。连接字符串是:

SqlConnection scn = new SqlConnection("Data Source='server name';Initial Catalog=temp;Trusted_Connection=true;Integrated Security=SSPI");

当我从我的电脑上运行应用程序时,它工作正常,它识别我的用户名。但是当我从服务器运行它然后它给我以下错误:

  

用户'domain \ server Name $'登录失败。

据我所知,它无法识别用户名,并认为用户名是服务器名称。

知道怎么解决吗?

2 个答案:

答案 0 :(得分:3)

应用程序正确连接为服务器计算机帐户。以LocalSystemNetwork Service身份运行的进程通过网络进行身份验证domain\machine$,这是设计的,有意的和期望的。

您可以根据需要将domain\server$登录权限授予SQL。或者您可以将应用程序更改为在其他帐户下运行(我假设应用程序是服务?)。

答案 1 :(得分:0)

使用runas让应用程序以正确的凭据运行。