sqlserver 数据库日志备份和恢复步骤
时间:2024-01-23 20:55:00
--创建测试数据库
CREATE DATABASE Db
GO
--对数据库进行备份
BACKUP DATABASE Db TO DISK='c:\db.bak' WITH FORMAT
GO
--创建测试表
CREATE TABLE Db.dbo.TB_test(ID int)
--延时1秒钟,再进行后面的操作(这是由于SQL Server的时间精度最大为百分之三秒,不延时的话,可能会导致还原到时间点的操作失败)
WAITFOR DELAY '00:00:01'
GO
--假设我们现在误操作删除了 Db.dbo.TB_test 这个表
DROP TABLE Db.dbo.TB_test
--保存删除表的时间
SELECT dt=GETDATE() INTO #
GO
--在删除操作后,发现不应该删除表 Db.dbo.TB_test
--下面演示了如何恢复这个误删除的表 Db.dbo.TB_test
--首先,备份事务日志(使用事务日志才能还原到指定的时间点)
BACKUP LOG Db TO DISK='c:\db_log.bak' WITH FORMAT
GO
--接下来,我们要先还原完全备份(还原日志必须在还原完全备份的基础上进行)
RESTORE DATABASE Db FROM DISK='c:\db.bak' WITH REPLACE,NORECOVERY
GO
--将事务日志还原到删除操作前(这里的时间对应上面的删除时间,并比删除时间略早
DECLARE @dt datetime
SELECT @dt=DATEADD(ms,-20,dt) FROM # --获取比表被删除的时间略早的时间
RESTORE LOG Db FROM DISK='c:\db_log.bak' WITH RECOVERY,STOPAT=@dt
GO
--查询一下,看表是否恢复
SELECT * FROM Db.dbo.TB_test
/*--结果:
ID
-----------
(所影响的行数为 0 行)
--*/
--测试成功
GO
--最后删除我们做的测试环境
DROP DATABASE Db
DROP TABLE #
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python字符串和字典相关操作的实例详解
Python函数any()和all()的用法及区别介绍
Python实现身份证前六位地区码对照表文件
![](https://img.aspxhome.com/file/2023/7/99657_0s.jpg)
Python+OpenCV图片局部区域像素值处理改进版详解
![](https://img.aspxhome.com/file/2023/6/120946_0s.jpg)
Pandas出现KeyError的问题解决及分析
python opencv读mp4视频的实例
浅谈Python由__dict__和dir()引发的一些思考
Python实现视频分解成图片+图片合成视频
![](https://img.aspxhome.com/file/2023/9/128719_0s.jpg)
axios请求的一些常见操作实战指南
python中关于range()函数反向遍历的几种表达
Tensorflow 多线程与多进程数据加载实例
![](https://img.aspxhome.com/file/2023/5/98845_0s.jpg)
mysql 基础教程之库与表的详解
浅析mysql 共享表空间与独享表空间以及他们之间的转化
![](https://img.aspxhome.com/file/2023/0/67590_0s.png)
浅谈numpy数组的几种排序方式
Python接口自动化 之用例读取方法总结
![](https://img.aspxhome.com/file/2023/3/90353_0s.png)
python实现excel公式格式化的示例代码
![](https://img.aspxhome.com/file/2023/6/124776_0s.png)