"没有选择要恢复的备份集"SQL Server 2012

Sae*_*ati 140 sql-server restore sql-server-2012

我有一个启用了文件流的SQL Server 2012数据库.但是,当我备份它并尝试在另一个SQL Server 2012实例(在另一台机器上)上恢复它时,我只是得到以下消息:

未选择要还原的备份集.

甚至没有一行更多的解释.这有什么不对?

没有文件流的每个其他数据库都可以,并且可以成功恢复.它与文件流有关吗?我应该安装修补程序或类似的东西.

use*_*998 167

我有这个问题,结果我试图恢复到错误的SQL版本.如果您想了解有关正在发生的事情的更多信息,请尝试使用以下SQL恢复数据库:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'
Run Code Online (Sandbox Code Playgroud)

这应该给你调试它需要的错误信息.


Tyl*_*the 59

我的问题最终成为了权限.我在开发机器上并通过Homegroup复制.不知何故,可能基于我将文件复制到的位置,权限搞砸了,而Management Studio无法读取文件.由于这是开发人员,我只给了每个人对bak文件的权限,然后可以通过GUI成功恢复.

  • 在这种情况下完全没有有用的错误消息.我的问题也解决了. (3认同)

Alo*_* Or 24

运行时:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误:

设备"C:\ NorthwindDB.bak"上的媒体系列格式不正确.SQL Server无法处理此媒体系列.RESTORE HEADERONLY异常终止.(Microsoft SQL Server,错误:3241)Blockquote

事实证明,即使源和目标数据库上的兼容级别相同,您也无法将数据库从较高的SQL版本转移到较低的版本.要检查SQL版本运行:

Select @@Version
Run Code Online (Sandbox Code Playgroud)

要查看差异,只需在 SQL服务器上创建一个数据库并尝试从备份文件进行恢复,当您执行此操作时,一旦您选择备份文件,它将显示有关它的一些信息,如下所示从较低版本的服务器打开它,只会说"没有选择要恢复的备份集" 在此输入图像描述

因此,如果您仍需要将数据移动到较低版本的SQL,请选中This.


Kei*_*ith 15

以管理员身份运行SQL Server Management Studio (右键单击>以管理员身份运行),然后尝试还原.


Fre*_*ing 10

我认为我并不愚蠢到混淆版本 - 但是,我没有意识到在我的新服务器上,已经从出生时安装了一个SQL Server 2005实例SQLEXPRESS.尝试将SSMS 2012中的SQL Server 2008 R2备份数据库还原到SQLEXPRESS实例时,备份集列表为空.

最终我意识到SQLEXPRESS服务器上的实例不是2012年的实例,而是2005年.我断开并连接到实际的 2012实例(在我的情况下命名SQLEXPRESS2012),它(显然)工作.

  • 这使我指出了我的问题的正确方向.我收到了与原始海报相同的错误,但这是因为我试图将备份从SQL Express 2012恢复到SQL Server 2008实例.可以理解这是不可取的,遗憾的是,错误不足以解决根本问题. (2认同)

小智 7

我的问题是我的用户是在Builtin-Administrators组中,而没有用户在SQL Server上使用Sysadmin-role.我刚刚以管理员身份启动了Management Studio.这样就可以恢复数据库.


Sha*_*rfi 7

对我来说,这是一个用户权限问题。我使用 sa 用户登录并且工作正常。


Ben*_*ley 6

仅供参考:我发现在恢复时,我需要使用相同的(SQL用户)凭据登录SSMS.我首先尝试使用Windows身份验证帐户进行还原.


Bri*_*ian 6

在我的情况下,它是权限和我使用"还原文件和文件组..."而不是简单地"还原数据库..."的事实.

这产生了不同.

在此输入图像描述


Gad*_*tNC 5

对我来说,问题是.BAK文件位于服务器上的加密文件夹中。即使拥有完整的管理员权限,我也永远无法让SSMS读取文件。将.BAK移到未加密的文件夹解决了我的问题。请注意,移动文件后,您可能还必须更改实际文件的属性以删除加密(右键单击,属性,高级,取消选中“加密内容以保护数据”)。


Mar*_*377 5

在我的情况下(新的 sql server 安装,新创建的用户)我的用户根本没有必要的权限。我以sa 的身份登录到 Management Studio ,然后转到 Security/Logins,右键单击我的用户名 Properties,然后在 Server Roles 部分中选中了sysadmin