我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
当前回答
:
1)在使用RESTORE命令时使用WITH REPLACE(如果使用GUI,则在Options ->覆盖现有数据库(WITH REPLACE))。
2)删除冲突的旧数据库,使用restore命令重新恢复。
查看链接了解更多细节。
其他回答
简单3步:
1-右键单击数据库→任务→恢复→数据库
2-检查设备作为源,并找到。bak(或压缩。bak)文件
3-在左侧窗格单击选项和:
check覆盖现有数据库。 恢复前进行尾日志备份 关闭到目标数据库的现有连接。
其他选项都是可选的(当然也很重要)!
system.data.sqlclient。sqlerror:备份集保存现有'Dbname'数据库以外的数据库的备份
我是来寻找灵魂的
不要使用相同或不同的数据库名称创建数据库! 右键单击数据库| Tasks >恢复>数据库 在“还原源”下选择“从设备” 选择.bak文件 在下面的网格视图中选中数据库的复选框 到数据库:“这里您可以键入新的数据库名称”(例如:DemoDB) 不要从下拉列表中选择现有数据库 现在点击Ok按钮,它将创建一个新的数据库,并从你的。bak文件中恢复所有数据。
你甚至可以从这个链接得到帮助
希望这将有助于解决您的问题…
这帮助我从系统驱动器导入备份文件
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...
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';
通常处理.bak文件会让人头疼,一种更直接的方法是使用sqldump文件来传输数据库。
生成要移动或复制的当前数据库的脚本。 选择All Tables,而不是整个数据库。 从选项菜单中选择另存为脚本,然后单击高级按钮并设置以下配置(我正在起诉MSSQL 2016): 现在,在你想导入这些数据的地方,创建一个新数据库,切换到这个新数据库(我的意思是设置为默认值) 最后运行脚本,将导入所有表和数据。
祝你好运。
列表项