数据库同步操作时 由于发服务器的数据库的数据库名字(测试数据库)与订阅服务器已存在的数据库(在运行的)名字一样,造成初始化订阅服务器数据库时,将订阅服务器上的在正常运行的数据覆盖了,现在如何恢复订阅服务器的数据库?关键是测试数据库 与同名的订阅数据库的结构不太一样。
用log explorer 查看订阅服务器上的数据日志,发现只有最后同步的几条记录。但整个数据库日志文件很大,为什么同步之前的数据库日志无法查询到?
如何恢复?急!!
用log explorer 查看订阅服务器上的数据日志,发现只有最后同步的几条记录。但整个数据库日志文件很大,为什么同步之前的数据库日志无法查询到?
如何恢复?急!!
另。用log explore attach log 时 显示也是从12月20日开始的 但同步之前的log就是没有显示出来。
为了保险起见 建议你停掉sqlserver备份mdf和ldf
1 备份尾日志
backup database dbname to disk='d:\log.bak' with no_truncate
2 恢复全备份
restore database dbname from disk='你的完全备份文件' with norecovery
3 还原到你要的时间点比如恢复到2011年1月1号的15点
restore log dbname from disk='d:\log.bak' with recovery,stopat='2011-01-01 15:00'
无法应用此备份集中的日志,因为该日志位于与数据库不一致的恢复路径上。
服务器: 消息 3013,级别 16,状态 1,行 1
RESTORE LOG 操作异常终止。什么意思?
MOVE 'fenghuanghf_LOG' TO '路径\fenghuanghf_LOG.ldf'
recovery,stopat='2011-01-06
--路径是指你的MDF的路径
1. 直接用 restore database fenghuang789 from disk='d:\data\fenghuang1220' with norecovery
出错:服务器: 消息 3201,级别 16,状态 2,行 1
无法打开备份设备 'd:\data\fenghuang1220'。设备出现错误或设备脱机。详细信息请参阅 SQL Server 错误日志。
服务器: 消息 3013,级别 16,状态 1,行 1
RESTORE DATABASE 操作异常终止。后来我用fenghuang1220备份文件 在sql企业管理器里 新建数据库 还原数据库操作 成功还原
然后我对还原成功的数据库进行 backup database 生成789.bak 文件
然后用restore database fenghuang789 from disk='d:\data\789.bak' with norecovery
命令 执行成功。然后再用 restore log 命令时出错。问:为什么用我的fenghuang1220备份文件进行restore database 操作出错,直接在sql企业管理器里还原是成功的(说明备份文件是好的)。??为什么 restore log 命令出错 ?急啊 要怎么才能恢复数据库?恢复数据库时 数据库的名字是不是要跟原来的名字一样?
1 你用备份文件恢复到一个新的数据库 因为mdf和ldf存在,所以会出错,所以你用后面那个方法是成功的是因为你已经新建了数据库文件了
2 见我14楼的回复,你的日志链中间断裂过了 所以没法恢复到断裂后的点了
出错:服务器: 消息 3201,级别 16,状态 2,行 1
无法打开备份设备 'd:\data\fenghuang1220'。设备出现错误或设备脱机。详细信息请……我是先用sp_detacch_db fenghuang789 的 LDF 和 mdf文件是存在的。那我先把 LDF 和 mdf文件先移开 是否就能成功restore database fenghuang789 from disk='d:\data\fenghuang1220' with norecovery
???
具体什么原因就不清楚了,log explorer会不会这个我没研究过,不清楚你log explorer的具体操作步骤
直接还原,不要换名字 换出很多问题来(前提是你mdf ldf已经备份)
restore database fenghuang from disk='d:\data\fenghuang1220' with norecovery
然后在 restore database fenghuang789 from disk='d:\data\fenghuang1220' with norecovery 还是同样的错误:
服务器: 消息 3201,级别 16,状态 2,行 1
无法打开备份设备 'd:\data\fenghuang1220'。设备出现错误或设备脱机。详细信息请参阅 SQL Server 错误日志。
服务器: 消息 3013,级别 16,状态 1,行 1
RESTORE DATABASE 操作异常终止。
但用 restore log fenghuang789 from disk='d:\log.bak' with recovery,stopat='2011-01-06 12:49'
还是提示 :服务器: 消息 4330,级别 16,状态 1,行 1
无法应用此备份集中的日志,因为该日志位于与数据库不一致的恢复路径上。
服务器: 消息 3013,级别 16,状态 1,行 1
RESTORE LOG 操作异常终止。换成命令:restore log fenghuang789 from disk='d:\log.bak' with move 'fenghuang_log' to 'e:\data\fenghuang_log.ldf' recovery,stopat='2011-01-06 12:49' 报错:服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'recovery' 附近有语法错误。语句哪里错了 ?怎么改?
发现 fenghuang_data d:\Data\fenghuang789_data.LDF
fenghuang_log d:\Data\fenghuang789_Log.LDF重新
RESTORE DATABASE fenghuang789 FROM DISK='d:\data\fenghuangzy1220 ' with replace,norecovery,
move 'fenghuang_Data ' to 'd:\data\fenghuang789_data.mdf ', move 'fenghuang_log' to 'd:\data\fenghuang789_log.ldf ' 命令成功!restore log fenghuang789 from disk='d:\log.bak' with recovery,stopat='2011-01-06 12:49' 还是报错修改恢复时间
restore log fenghuang789 from disk='d:\log.bak' with recovery,stopat='2010-12-21 12:49' 还是报错
会是什么原因? 是log文件坏了吗?