我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
当前回答
我今天遇到了类似的问题。尝试了以上所有的解决方案,但都没有效果。把我的解写在这里。
在恢复之前,不要忘记取消选择尾长备份
希望它也能帮助到其他人!
其他回答
而不是点击恢复数据库点击恢复文件和文件组..
这在我的SQL服务器上工作
我也面临同样的问题,并通过这样做找到了解决方案,使用SSMS 2014
Just select the Option Overwrite the existing database(WITH REPLACE)
这是因为原始Db中的.mdf和.ldf文件可能位于c:\programFile\....这个信息保存在备份!
如果您在安装在c:\program Files (x86)\ ....的不同SQL Server上创建了相同的DB您不能像往常一样恢复。您需要重新定位.mdf和.ldf文件的路径。
因此:
在新的Server上创建一个空DB 右键单击空Db >任务>恢复>数据库>单击设备选择您的。bak文件>选择Db恢复到 选择“重新定位所有文件到文件夹” 点击左边站点>的选项,点击覆盖
完成了! 希望能有所帮助!
我也有同样的问题,但在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。完成后,不要忘记将执行策略设置为受限。
我试图将一个生产数据库恢复到同一台服务器上的一个登台数据库。
在我的案例中,唯一有效的是恢复到一个新的空白数据库。这工作得很好,没有尝试覆盖生产文件(如果您只是将生产备份文件恢复到现有的登台数据库,则会覆盖生产文件)。然后删除旧数据库并重命名-文件将保留新的临时名称,但在我的情况下,这是好的。
(或者先删除暂存数据库,然后恢复到与暂存数据库同名的新数据库)