如何用一个最近的完全备份和最近的差异备份在另一台机器上还原数据库?

netfm126 2017-11-03 05:20:11
公司的服务器硬盘损坏,原有的数据库无法恢复,现有一个完全数据库备份文件(.bak)和最近时间的差异数据库备份(.bak)(完全备份的时间为10月27日00点,差异备份的时间点为10月27日16点),都已经拷贝至新服务器上,请教各位如何先还原完全备份再还原差异备份?数据库版本为SQL SERVER 2008 R2。
...全文
318 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
netfm126 2017-11-05
  • 打赏
  • 举报
回复
使用了restore headeronly from disk='备份文件'命令,DatabaseName字段的值是一样的,但是现在在备份过程中出现报错,我之前的数据库文件是备份在d:\Program Files (x86)\Yumstone\4.0\Server\data\目录下(通过restore filelistonly from disk='备份文件 命令也查询到两个备份文件的物理路径都是在这个文件目录下),然后执行第一个完全备份操作,实际代码如下:

RESTORE DATABASE yumstone
 FROM DISK = N'E:\1\110000_20171027200.BAK\dbbackup\yumstone.BAK' 
 WITH FILE = 1, 
 MOVE N'yumstone' TO N'd:\Program Files (x86)\Yumstone\4.0\Server\data\yumstone_Data.MDF',
 MOVE N'yumstone_log' TO N'd:\Program Files (x86)\Yumstone\4.0\Server\data\yumstone.ldf', NORECOVERY
错误提示如下:
消息 3234,级别 16,状态 2,第 3 行
逻辑文件 'yumstone' 不是数据库 'yumstone' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。
消息 3013,级别 16,状态 1,第 3 行
RESTORE DATABASE 正在异常终止。
唐诗三百首 2017-11-03
  • 打赏
  • 举报
回复
确认一下完整备份文件和差异备份文件对应的数据库名是否一致, 执行restore headeronly from disk='备份文件'命令, 对比结果中的DatabaseName字段的值是否一致.

restore headeronly from disk='E:\数据库完整备份.BAK'

restore headeronly from disk='E:\数据库差异备份.BAK'
OwenZeng_DBA 2017-11-03
  • 打赏
  • 举报
回复
引用 4 楼 u011570818 的回复:
为什么我这边的界面和您的不一样?
数据库版本不一样,你就用上面的语句执行就可以
OwenZeng_DBA 2017-11-03
  • 打赏
  • 举报
回复
引用 3 楼 u011570818 的回复:
我在新的服务器新建上了一个同名的数据库名(mydatabase),执行下面的语句: RESTORE DATABASE mydatabase FROM DISK= = 'E:\数据库完整备份.BAK' WITH NORECOVERY RESTORE DATABASE mydatabase FROM DISK = 'E:\数据库差异备份.BAK' WITH RECOVERY 时报错了:“备份集中的数据库备份与现有的 ' mydatabase ' 数据库不同。”
吧新建的库删除掉,不用新建,然后运行你这个脚本就可以
netfm126 2017-11-03
  • 打赏
  • 举报
回复

为什么我这边的界面和您的不一样?
netfm126 2017-11-03
  • 打赏
  • 举报
回复
我在新的服务器新建上了一个同名的数据库名(mydatabase),执行下面的语句: RESTORE DATABASE mydatabase FROM DISK= = 'E:\数据库完整备份.BAK' WITH NORECOVERY RESTORE DATABASE mydatabase FROM DISK = 'E:\数据库差异备份.BAK' WITH RECOVERY 时报错了:“备份集中的数据库备份与现有的 ' mydatabase ' 数据库不同。”
OwenZeng_DBA 2017-11-03
  • 打赏
  • 举报
回复

OwenZeng_DBA 2017-11-03
  • 打赏
  • 举报
回复
整个过程还是比较简单 先还原完整的文件,选择norecovery模式 在还原差异的,选recovery模式就可以

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧