2011-10-04 140 views
0

我在创建的数据库上使用了serviceaccount util.sql.TestApp。用户“服务帐户名称”的SQL异常登录失败

当我到了command.Connection.Open();我收到SQL异常登录失败,util.sql.TestApp

这是我在我的web.config

<add name="DBTest" connectionString="Server=Data.companyname.com; Database=TestApp; User Id=util.sql.TestApp; password=PWD" providerName=""/> 

我打开数据库,并检查了serviceaccount 。它确实连接了previlages。我不知道什么是错的。

回答

0

您是否已将用户映射到具有Connect权限的TestApp数据库(不仅仅是SQL Server)?

要检查此操作,请在对象资源管理器中转到根目录中的Security文件夹,然后展开Logins。用鼠标右键单击用户帐户,然后单击Properties。在User Mapping下,确保用户映射到TestApp。一旦用户被映射到TestApp,您可以进入TestApp的属性来配置数据库的权限。

其次,您是否尝试过提供帐户SELECTUPDATEINSERTDELETE权限。

+0

服务帐户不需要CRUD访问权限即可登录到数据库。 –

+0

是的,我曾尝试给予选择,更新,删除权限。它没有工作。将用户映射到testapp数据库意味着什么? 用户是我创建的用于访问特定数据库的服务帐户。 – SmilingLily

0

您是否将用户映射到相应的数据库角色?您应该尝试在数据库的安全性>用户下删除该用户,然后通过安全>登录将本地数据库用户重新映射到相关数据库。从那里你必须右键单击用户>属性>用户映射,然后使用顶部列表中的复选框选择您的数据库,然后在该窗口底部选择一个角色,然后单击保存。关键是要确保在用户映射屏幕底部给它适当的访问级别。这应该照顾任何权限问题。

+0

是的,我将util.sql.testapp添加到我的.net文件夹中。它仍然没有工作。 – SmilingLily

0

好奇你使用IIS7和ASP.Net 4吗?尝试进入事件查看器并为Web事件拉ASP.Net“警告”。在常规选项卡中,您可以找到例外信息。一旦你有了这个,你可能能够指出堆栈跟踪的问题。如果你不介意在这里发布。

感谢,

迈克尔

+0

我正在使用.net 4.0(我在本地开发它)。看到我的堆栈跟踪 – SmilingLily

+0

在System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,布尔breakConnection) – SmilingLily

+0

在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 在System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj) – SmilingLily

1

以服务帐户的Windows帐户或SQL帐户?如果是前者,则需要使用不同的连接字符串 - Server=Data.companyname.com; Database=TestApp;Trusted_Connection=true - 并且还要将应用程序池设置为以服务帐户的身份运行[可能已经完成,可能他们为什么要求您使用服务帐户] 。

+0

这是一个服务帐户。 Util.sql.AppName – SmilingLily

+0

当然,它是一个服务帐户 - 但用户是如何创建的?这是一个SQL服务器原则吗?还是Windows原则? –

+0

对不起。为SQLserver – SmilingLily

相关问题