1

我在 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

4

2 回答 2

3

它是由孤儿用户在进行备份和恢复时创建的

首先,确保这是问题所在。这将列出孤立的用户:

EXEC sp_change_users_login '报告'

如果您已经有此用户的登录 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

于 2014-12-02T15:22:52.723 回答
0

您用于恢复数据库的帐户应该具有足够高的权限来修复登录用户链接。如果该登录名出现上述错误,则该登录名的默认数据库很可能设置为您刚刚恢复的那个。在这种情况下,您可以使用 SSMS“连接到数据库引擎”对话框上的“选项”按钮,并在“连接属性”选项卡的“连接到数据库”字段中选择不同的数据库。

连接到数据库引擎

在此处输入图像描述

如果您使用需要连接字符串的其他工具,您也可以在其中显式指定数据库。

连接后,请按照您链接到的文章中的建议进行操作。

于 2013-04-11T12:22:02.097 回答