我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
当前回答
我也一样。我的解决方案是:
右键单击数据库。 选择任务,选择恢复数据库。 单击左侧的选项。 检查第一个选项覆盖现有数据库(WITH REPLACE)。 转到常规,选择源和目标数据库。 单击OK,就是这样
其他回答
您可以恢复到一个新的数据库,验证文件名语法,它将在日志文件中,对于新的SQL版本将是“_log”后缀
AD检查覆盖现有的数据库标志在选项卡
Fabio
简单3步:
1-右键单击数据库→任务→恢复→数据库
2-检查设备作为源,并找到。bak(或压缩。bak)文件
3-在左侧窗格单击选项和:
check覆盖现有数据库。 恢复前进行尾日志备份 关闭到目标数据库的现有连接。
其他选项都是可选的(当然也很重要)!
我通过另一种方式完成工作,使用生成脚本。这对我来说确实有用,因为由于同样的错误,Backup-Restore没有帮助解决这个问题。
我也有同样的问题,但在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。完成后,不要忘记将执行策略设置为受限。
USE [master];
GO
CREATE DATABASE db;
GO
CREATE DATABASE db2;
GO
BACKUP DATABASE db TO DISK = 'c:\temp\db.bak' WITH INIT, COMPRESSION;
GO
RESTORE DATABASE db2
FROM DISK = 'c:\temp\db.bak'
WITH REPLACE,
MOVE 'db' TO 'c:\temp\db2.mdf',
MOVE 'db_log' TO 'c:\temp\db2.ldf';