我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
当前回答
我也有同样的问题,但在PS上。我把它留在这里,以防有人试图做同样的事情
Restore-SqlDatabase -ServerInstance "<your instance name>" -Database "<your db name>" -BackupFile "<backup file route>.bak" -ReplaceDatabase
记住使用Set-ExecutionPolicy Unrestricted -Force和import import-module sqlps。完成后,不要忘记将执行策略设置为受限。
其他回答
我通过另一种方式完成工作,使用生成脚本。这对我来说确实有用,因为由于同样的错误,Backup-Restore没有帮助解决这个问题。
system.data.sqlclient。sqlerror:备份集保存现有'Dbname'数据库以外的数据库的备份
我是来寻找灵魂的
不要使用相同或不同的数据库名称创建数据库! 右键单击数据库| Tasks >恢复>数据库 在“还原源”下选择“从设备” 选择.bak文件 在下面的网格视图中选中数据库的复选框 到数据库:“这里您可以键入新的数据库名称”(例如:DemoDB) 不要从下拉列表中选择现有数据库 现在点击Ok按钮,它将创建一个新的数据库,并从你的。bak文件中恢复所有数据。
你甚至可以从这个链接得到帮助
希望这将有助于解决您的问题…
我必须在我的本地创建新的db进行测试,并且我的prod有备份。我先创建了db,并尝试在新db上运行BAK,这为我产生了这个错误。我删除了db并恢复它,同时在恢复屏幕本身提供新的db名称。恢复时自动创建db。
这通常是由于版本不兼容造成的。 按照以下步骤来解决:
步骤1:使用首选名称创建数据库。(在我们的例子中是AdventureWorks)
步骤2:写单击数据库,然后单击Tasks >> Restore >> database…
第三步:在恢复界面进入第三个选项选择。现在选择“覆盖现有数据库(WITH REPLACE)”复选框
步骤4:单击“确定”。它应该能够成功地恢复数据库。
注意:当你用REPLACE恢复一个数据库时,它会覆盖旧的数据库。
在选项中,将“还原为”文件名称更改为新的数据库mdf和ldf。它引用源数据库的.mdf和.ldf文件。