无法打开登录请求的数据库“test”。登录失败

时间:2011-08-18 21:09:28

标签: asp.net sql-server-2008 sql-server-express

我在第四次世界大战中失败了,我明白我永远不会成为一名dba。

  • 我刚刚将数据库恢复到运行SQL Express的本地服务器进入“test”。
  • 我已将本地数据库用户“testuser”映射到数据库 db_owner
  • Sql server express正在运行混合模式身份验证
  • 我正在尝试使用以下连接字符串连接到数据库:
      

    “Data Source =(local)\ sqlexpress; User Id = testuser; Password = supersecret; Initial Catalog = test;”

  •   

有人可以告诉我我在这里缺少什么吗?

2 个答案:

答案 0 :(得分:1)

你可能有一个孤儿用户。这会产生什么结果?

SELECT 
    dp.name, 
    sp.name 
FROM
    sys.database_principals AS dp
FULL OUTER JOIN
    sys.server_principals AS sp
    ON dp.[sid] = sp.[sid]
WHERE 
    dp.name = 'testuser';

基本上,如果您的数据库用户“testuser”未正确映射到同名的登录名,则服务器将无法将您连接到正确的数据库。您可以查看以下文章以获取故障排除帮助:

http://msdn.microsoft.com/en-us/library/ms175475%28SQL.100%29.aspx

答案 1 :(得分:0)

确保已启用TCP / IP协议(在SQL Server配置管理器中)。还要确保启用,启动和自动SQL浏览器服务(在SSCM中也是如此)。默认情况下,SQL Server Express的这两项内容最初并未初始配置/启动。

相关问题