无法连接到SQL Server 2008 Express实例

时间:2010-07-05 23:05:50

标签: sql sql-server-2008 sql-server-express

我有一个SQL Server 2008实例和一个SQL Server 2008 Express实例。

我一直主要使用带有以下连接字符串的SQL Server 2008实例...

<add name="Local-DB-connection" connectionString="Data Source=JONATHAN-PC; Database=dbname; User ID=uname; Password=pword;" providerName="System.Data.SqlClient" />

这很好。

现在在express的实例上,我有一个同名的用户和一个相同的数据库,但不管我总是得到这个错误

Cannot open database "dbName" requested by the login. The login failed.
Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.

现在我在快速连接字符串上添加了 - Trusted_Connection=True,因此NT AUTHORITY \ NETWORK SERVICE

我找到了一个论坛帖子,我在我的实时服务器上修复类似的问题时使用过

http://blog.sqlauthority.com/2009/08/20/sql-server-fix-error-cannot-open-database-requested-by-the-login-the-login-failed-login-failed-for-user-nt-authoritynetwork-service/

它主要讨论添加NT AUTHORITY \ NETWORK SERVICE'用户,但此用户不在要添加的列表中。

我在这里疯了,我怀疑它与我的两个SQL服务器实例冲突

任何人都可以对此有所了解吗?

感谢

truegilly

1 个答案:

答案 0 :(得分:1)

要检查一下,您是否尝试使用正确的实例名称访问SQL Express数据库,即JONATHAN-PC \ SQLEXPRESS或类似名称?

NETWORK SERVICE应该在列表中。如果你去

  • 安全,登录,新登录,搜索,高级
  • 在“位置”框中选择您的PC(除非您在域中,否则应为默认值)
  • 立即查找

然后它应该在列表中作为NETWORK SERVICE。如果你选择它,那么它将出现在NT AUTHORITY。

一旦你在列表中找到它,你就需要授予它访问你的数据库的权限。您的链接建议将其设置为db_owner - 这对于生产来说是危险的,您应该将其权限降低到更受限制的集合,但是对于开发和证明它正在工作可能没问题。