【问题标题】:Cannot connect to SQL server 2008 Express instance无法连接到 SQL Server 2008 Express 实例
【发布时间】:2010-07-05 23:05:50
【问题描述】:

我有一个 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'.

现在我在 express 连接字符串上添加了 - 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 服务器实例冲突有关

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

谢谢

真正的吉利

【问题讨论】:

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


    【解决方案1】:

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

    网络服务应该在列表中。如果你去

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

    那么它应该在列表中作为网络服务。如果您选择它,它将出现在 NT AUTHORITY 中。

    一旦您将它添加到您的列表中,您需要授予它访问您的数据库的权限。您的链接建议将其设置为 db_owner - 这对生产很危险,您应该将其权限减少到更受限制的集合,但对于开发和证明它的工作可能没问题。

    【讨论】:

    • 你好,当连接到 SQL 服务器时,我使用 JONATHAN-PC,当连接到 express 时,我使用 JONATHAN-PC\SQLEXPRESS_R2。
    • 不错,它是网络服务,正如你所说的那样,更改为 NT AUTHORITY,我在用户列表中看不到它的事实让我感到震惊,尊重RUP ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多