Sql server 添加SQL登录不起作用

Sql server 添加SQL登录不起作用,sql-server,Sql Server,我在Visual Studio 2010中收到此错误消息: 无法打开登录请求的数据库“Northwind”。登录 失败。\r\n登录用户“Mike\Mike Simpson”失败 当我尝试添加用户时,即我。然后SQLServer说 Msg 15063,第16级,状态1,第1行登录名已拥有帐户 在不同的用户名下 这是我的连接字符串: “数据源=本地主机;初始目录=Northwind;集成安全性=True” 我使用的是SSMS而不是SQL Server express。 我不知道我还能做什么。在我将

我在Visual Studio 2010中收到此错误消息:

无法打开登录请求的数据库“Northwind”。登录 失败。\r\n登录用户“Mike\Mike Simpson”失败

当我尝试添加用户时,即我。然后SQLServer说

Msg 15063,第16级,状态1,第1行登录名已拥有帐户 在不同的用户名下

这是我的连接字符串:

“数据源=本地主机;初始目录=Northwind;集成安全性=True”

我使用的是SSMS而不是SQL Server express。
我不知道我还能做什么。在我将其压缩之前,此应用程序通常正常工作。

检查它们是否存在与相同DSN的任何其他连接。如果不是这样,请检查连接是否正确建立。

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

看看这个:

我建议在两个服务器范围内查看SID (sys.server_主体)和数据库作用域 (sys.database_principals)来帮助您关联用户名 映射到登录名。 此问题的根本原因有两种可能:

1) 您还原了一个数据库,其中包含已映射的用户 与您的应用程序冲突的

2) 修改了模型数据库,并在其中创建了用户。在里面 这种情况下,每次创建新数据库时,都会映射新用户 还有

我建议直接使用T-SQL脚本,而不是使用SQL Server Management Studio正在调试此场景。SSMS并非如此 对这类问题有弹性,而且可能无法解决 执行您需要的操作


这个问题的答案是连接字符串。我使用的是命名实例,而不是默认实例。因此,我的连接字符串需要有两个斜杠,然后是命名实例

“数据源=Localhost\Arius;初始目录=Northwind;集成安全性=True”


当我做出这一改变时,一切都起了作用。我希望这对将来的人有所帮助。

出现这个问题是因为我计划将用户A作为登录名添加到我刚刚创建的数据库中,但结果我意外地将用户A作为所有者。这意味着用户A实际上已经有了一个登录名——“dbo”——因为他们是所有者


如果此错误告诉您已为用户添加了哪个登录名,则会更有帮助。

有此问题,这就是我解决此问题的原因

sp_变更所有者“sa”

然后只需将您的登录DomainName\UserName重新映射到数据库(双击登录->用户映射->检查数据库->检查Datareader/Datawriter->确定)


从这里捡到的

希望这对某些人有所帮助

谢谢您提供的信息。我读了你提供的另一个链接。但是我仍然不知道我应该采取什么步骤,或者我应该搜索什么来找到更多关于如何纠正这个问题的信息。目前,我“我抬头看希德。这个查询提供了项目列表,但我不知道如何处理它。从sys.server中选择*_principals@JacobPressures,也许第二条关于这个链接的建议可以帮助你?分配帐户而不是创建新帐户的方法。SELECT*FROM sys.server\u principals SELECT*FROM sys.database\u principals确定第一个查询具有用户名,而第二个查询没有。确定运行此查询时,两个表中都有用户:SELECT*FROM sys.server\u principals ssp internal join sys.database\u principals sdb on(sdb.sid=ssp.sid)我还尝试了此页面上的信息:。如果我尝试将从DBO更改为我的用户名,则将失败。