添加SQL登录不起作用

时间:2013-11-03 15:42:41

标签: sql-server

我在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。 我不知道还应该做些什么。这个应用程序曾经在我拉链之前工作。

5 个答案:

答案 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)

您正在尝试添加一个存在的用户。

看看这个:http://social.msdn.microsoft.com/Forums/sqlserver/en-US/9faf79d0-f4b6-4b6c-9505-68cd2ec636af/the-login-already-has-an-account-under-a-different-user-name-microsoft-sql-server-error-15063?forum=sqlsecurity

  

我建议在服务器范围内查看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登录,则此错误会更有帮助。