我试图恢复我的数据库的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没有帮助解决这个问题。
这帮助我从系统驱动器导入备份文件
Create a database with the same name(preferably) as your .bak file database name Right click the database > Tasks > Restore > Database Under "Source for restore" select "From Device" Select the .bak file selecting the path from the system Select the check box for the database in the list box below Under "Select a Page" on the right Select "Options" Select the checkbox labeled "Preserve the replication settings(WITH KEEP_REPLICATION) Select the checkbox for Overwrite the existing database(WITH REPLACE) Now Go back to the General page and click OK to restore the database...
我必须在我的本地创建新的db进行测试,并且我的prod有备份。我先创建了db,并尝试在新db上运行BAK,这为我产生了这个错误。我删除了db并恢复它,同时在恢复屏幕本身提供新的db名称。恢复时自动创建db。
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';
我也一样。我的解决方案是:
右键单击数据库。 选择任务,选择恢复数据库。 单击左侧的选项。 检查第一个选项覆盖现有数据库(WITH REPLACE)。 转到常规,选择源和目标数据库。 单击OK,就是这样