[MSSQL]事务日志还原
2017-09-12 09:35
387 查看
前提:①必须有数据库的完整备份(做个备份计划);
②数据库恢复模式是完整的(full)。
–1.完整备份数据库,一般企业都有做日备份。
![](https://img-blog.csdn.net/20170912103019679?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF2aWRfNTIwMDQy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
–2.故障发生(09:11模拟勿删数据)
![](https://img-blog.csdn.net/20170912093055187?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF2aWRfNTIwMDQy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
–3.出现故障后,首先执行备份事务日志命令,这里以ZE作为数据库名。
![](https://img-blog.csdn.net/20170912093105178?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF2aWRfNTIwMDQy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
–4.从完整备份还原数据
![](https://img-blog.csdn.net/20170912093302979?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF2aWRfNTIwMDQy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
–5.从事务日志还原数据,还原到某个时间点之前
![](https://img-blog.csdn.net/20170912093354903?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF2aWRfNTIwMDQy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
–6.还原数据库,如果数据库提示正在还原中,则执行此命令即可。
–7.验证数据
![](https://img-blog.csdn.net/20170912093426086?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF2aWRfNTIwMDQy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
完整代码:
②数据库恢复模式是完整的(full)。
–1.完整备份数据库,一般企业都有做日备份。
BACKUP DATABASE ZE TO DISK = N'D:\DB\ZE_20170712_0903.bak';
–2.故障发生(09:11模拟勿删数据)
WAITFOR TIME '09:11' DELETE FROM INVMB WHERE MB001 IN ('1-7709003001','1-7709003002','1-7709003003')
–3.出现故障后,首先执行备份事务日志命令,这里以ZE作为数据库名。
BACKUP LOG ZE TO DISK = N'D:\DB\ZELOG.bak' WITH NORECOVERY;
–4.从完整备份还原数据
RESTORE DATABASE ZE FROM DISK=N'D:\DB\ZE_20170712_0903.bak' WITH NORECOVERY, REPLACE
–5.从事务日志还原数据,还原到某个时间点之前
RESTORE LOG ZE FROM DISK=N'D:\DB\ZELOG.bak' WITH STOPAT='2017-09-12 09:10:01.723',RECOVERY
–6.还原数据库,如果数据库提示正在还原中,则执行此命令即可。
RESTORE DATABASE ZE WITH RECOVERY
–7.验证数据
SELECT * FROM INVMB WHERE MB001 IN ('1-7709003001','1-7709003002','1-7709003003')
完整代码:
--1.完整备份数据库
BACKUP DATABASE ZE TO DISK = N'D:\DB\ZE_20170712_0903.bak';
--2.故障发生(09:11模拟勿删数据)
WAITFOR TIME '09:11' DELETE FROM INVMB WHERE MB001 IN ('1-7709003001','1-7709003002','1-7709003003')
--3.出现故障后,首先执行备份事务日志命令,这里以ZE作为数据库名。
BACKUP LOG ZE TO DISK = N'D:\DB\ZELOG.bak' WITH NORECOVERY;
--4.从完整备份还原数据
RESTORE DATABASE ZE FROM DISK=N'D:\DB\ZE_20170712_0903.bak'
WITH NORECOVERY, REPLACE
--5.从事务日志还原数据,还原到某个时间点之前
RESTORE LOG ZE FROM DISK=N'D:\DB\ZELOG.bak' WITH STOPAT='2017-09-12 09:10:01.723',RECOVERY
--6.还原数据库,如果数据库提示正在还原中,则执行此命令即可。
RESTORE DATABASE ZE WITH RECOVERY
--7.验证数据
SELECT * FROM INVMB WHERE MB001 IN ('1-7709003001','1-7709003002','1-7709003003')
相关文章推荐
- SQL事务日志还原实例
- 事务日志还原的次意外的操作失误
- Mssql数据库的备份还原与删除日志
- PowerShell应用之-批量还原数据库(支持完整,差异,事务日志)
- MSSQL 基础之事务日志
- MSSQL收缩事务日志&日志文件过大无法收缩
- Oracle GoldenGate For SQL Server 未提交事务导致MSSQL日志不截断
- SQL事务日志还原实例
- mssql 2000数据库事务日志清除
- SQL SERVER完整、差异和事务日志备份及还原(脚本和GUI实现) [原创]
- mssql 数据库与日志的备份 与还原
- [置顶]SQL SERVER完整、差异和事务日志备份及还原(脚本和GUI实现) [原创]
- 如何缩小MSSQL中巨大的事务日志文件
- SQL SERVER完整、差异和事务日志备份及还原(脚本和GUI实现)
- MSSQL 2005中截断事务日志的补充.
- MSSQL数据库事务日志已满处理
- 如何通过trn日志文件恢复SQL Server 事务日志 还原 备份
- mssql日志处理事务日志处理
- SQL事务日志还原实例
- SQL事务日志还原实例