当前位置: 代码网 > it编程>数据库>MsSqlserver > SQL Server日志恢复还原数据的操作流程

SQL Server日志恢复还原数据的操作流程

2024年09月05日 MsSqlserver 我要评论
sql server日志恢复还原数据##red##通过日志还原,首先要注意的是:1、在数据库更新和删除之前有一个完整的备份。2、在更新和删除之后,做一个日志备份。3、该日志只能用于还原数据库备份和日志

sql server日志恢复还原数据

##red##

通过日志还原,首先要注意的是:

1、在数据库更新和删除之前有一个完整的备份。

2、在更新和删除之后,做一个日志备份。

3、该日志只能用于还原数据库备份和日志备份时间之间的数据。

下面看整个数据库备份和恢复的操作流程:

创建一个数据库并完整备份:

创建数据库

新建一个数据库test用来测试

image7.png

创建表

-- 切换到 test 数据库
use test;
go

-- 创建表
create table testtable (
    id int identity(1,1) primary key,
    name nvarchar(50),
    createddate datetime
);
go

-- 插入测试数据
insert into testtable (name, createddate)
values 
('alice', getdate()),
('bob', getdate()),
('charlie', getdate()),
('david', getdate()),
('eva', getdate()),
('frank', getdate()),
('grace', getdate()),
('hannah', getdate()),
('isaac', getdate()),
('judy', getdate());
go

记录本次操作时间2024-07-31 17:29:19

对数据库进行备份

右键数据库(test)-任务-备份:

image17.png

先把默认的备份路径删除,要不然后面会出错,然后点添加:

image9.png

选择文件位置

image10.png

选择文件位置以及备份文件名

image11.png

点击 确认 进行备份

image12.png

备份完成

image13.png

记录本次操作时间2024-07-31 17:30:50

模拟故障并恢复数据

误删除操作

假设我们误操作删除了这个表,注意删除表的时间,后面会用到:

drop table test.dbo.testtable;

记录本次操作时间2024-07-31 17:31:22

备份日志文件

backup log test to disk='d:\test_log.bak' with format
go

记录本次操作时间2024-07-31 17:32:05

image16.png

还原数据库

在 sql server management studio 中,右键单击要还原的数据库(test),选择“任务” -> “还原” -> “数据库”

image18.png

在“选项”标签中,勾选“关闭现有连接到目标数据库”,选择 之前的全量备份 和 刚刚备份的事务日志

image18.png

在常规里,选择一个还原到的具体时间点。

image20.png

这里我们的误删操作发生在:2024-07-31 17:30:50

因此,我们选择还原到这个时间的前一刻,我选择 2024-07-31 17:31:00

点击“确定”开始还原

image21.png

还原成功

image22.png

检验恢复结果

还原完成后,我们需要验证数据是否已经被成功恢复。

image23.png

恢复数据库可读写

从刚刚的截图上我们看到,虽然数据被恢复了,但是因为使用了日志事务,所以test数据库变成了备用/只读状态。当前状态下,数据库是无法被写入的,我们需要解除这种状态。

-- 切换到 master 数据库
use master;

-- 将数据库设置为读写模式
alter database test set read_write;

刷新数据库,看到数据库test已经变为可写入的正常状态了

image24.png

以上就是sql server日志恢复还原数据的操作流程的详细内容,更多关于sql server日志恢复还原数据的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com