我在Visual Studio 2010中收到此错误消息:
无法打开登录请求的数据库\“Northwind \”。登录 用户'Mike \ Mike Simpson'
失败。\ r \ n登录失败
当我尝试添加用户时,就是我。然后SQL服务器说
消息15063,级别16,状态1,第1行登录已经有一个帐户 在不同的用户名下。
这是我的连接字符串:
“Data Source = Localhost; Initial Catalog = Northwind; Integrated Security = True”
我正在使用SSMS而不是SQL Server express。 我不知道还应该做些什么。这个应用程序曾经在我拉链之前工作。
答案 0 :(得分:4)
有这个问题,这就是为我解决的问题
sp_changedbowner'sa'
然后只需将您的登录DomainName \ UserName重新映射到数据库(双击login->用户映射 - >检查您的DB->检查Datareader / Datawriter-> Ok)
从这里拿起来
http://www.sqlservercentral.com/Forums/Topic788865-146-1.aspx
希望这有助于一些人
答案 1 :(得分:0)
检查它们是否存在与同一DSN的任何其他连接。如果不是这种情况,则检查连接是否正确建立。
答案 2 :(得分:0)
您正在尝试添加一个存在的用户。
我建议在服务器范围内查看SID (sys.server_principals)和数据库范围 (sys.database_principals)可帮助您关联用户名 映射到登录。 这个问题的根本原因有两种可能性:
1)您恢复了包含已映射在其中的用户的数据库 与您的申请相冲突。
2)修改了模型数据库,并在那里创建了用户。在 这种情况下,每次创建新数据库时,都会映射新用户 同样。
我建议直接使用T-SQL脚本而不是使用SQL 调试此方案时,Server Management Studio。 SSMS不是 能够适应这种问题并且可能会失败 执行你需要的操作。
答案 3 :(得分:0)
这个问题的答案是连接字符串。我正在使用NAMED INSTANCE而不是默认实例。因此我的连接字符串需要有两个斜杠和之后的命名实例。
“Data Source = Localhost \ Arius; Initial Catalog = Northwind; Integrated Security = True”
当我做出这一改变时,一切正常。我希望这有助于将来的某个人。
答案 4 :(得分:0)
出现这个问题是因为我打算将用户A添加为我刚刚创建的数据库的登录,但事实证明我不小心让用户A成为了所有者。这意味着用户A确实已经登录 - “dbo” - 因为他们是所有者。
如果它告诉您已为用户添加了WHICH登录,则此错误会更有帮助。