我有一个在SQL Server上使用数据库的应用程序,我希望用户使用集成的Windows身份验证连接到该服务器。连接字符串是:
SqlConnection scn = new SqlConnection("Data Source='server name';Initial Catalog=temp;Trusted_Connection=true;Integrated Security=SSPI");
当我从我的电脑上运行应用程序时,它工作正常,它识别我的用户名。但是当我从服务器运行它然后它给我以下错误:
用户'domain \ server Name $'登录失败。
据我所知,它无法识别用户名,并认为用户名是服务器名称。
知道怎么解决吗?
答案 0 :(得分:3)
应用程序正确连接为服务器计算机帐户。以LocalSystem
或Network Service
身份运行的进程通过网络进行身份验证domain\machine$
,这是设计的,有意的和期望的。
您可以根据需要将domain\server$
登录权限授予SQL。或者您可以将应用程序更改为在其他帐户下运行(我假设应用程序是服务?)。
答案 1 :(得分:0)
使用runas
让应用程序以正确的凭据运行。