我在 sql server 2008 R2 上有一个本地数据库并且工作正常,
我的主机安装了 sql server 2012。在托管服务器上创建新数据库后,我可以使用给定的托管凭据轻松连接到空白数据库
我已经创建了 Sql Server 2008 备份并将其恢复到主机,但每个都停止工作。
Cannot open database "dbName" requested by the login. The login failed.
在创建备份之前,我确实创建了一个新用户,该用户具有与托管所提供的相同的凭据以连接其数据库。
很少有解决方案建议运行孤立用户查询,但无法连接到数据库
http://sqlblog.com/blogs/eric_johnson/archive/2008/10/17/fixing-orphaned-users.aspx
最佳答案
它是由孤儿用户在进行备份和恢复时创建的
首先,请确保这就是问题所在。这将列出孤立用户:
EXEC sp_change_users_login 'Report'
如果您已经有该用户的登录 ID 和密码,请通过执行以下操作来修复它:
EXEC sp_change_users_login 'Auto_Fix', 'user'
如果您想为此用户创建新的登录 ID 和密码,请通过执行以下操作来修复它:
EXEC sp_change_users_login 'Auto_Fix', 'user', 'login', 'password'
另一种方法对我有用
(来源:pinaldave.com)
(来源:pinaldave.com)
确保将 [test] 替换为您的用户名,将 master 替换为您的数据库名称
(来源:pinaldave.com)
关于sql-server - sql server 恢复-登录失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15944123/