当前位置: 代码网 > it编程>数据库>MsSqlserver > SQL Server数据库简单的事务日志备份恢复流程

SQL Server数据库简单的事务日志备份恢复流程

2024年09月13日 MsSqlserver 我要评论
模拟数据库备份恢复过程1.基础操作1.创建testdb数据库,并添加数据use [master]gocreate database testdbcontainment = noneon primary

模拟数据库备份恢复过程

1.基础操作

1.创建testdb数据库,并添加数据

use [master]
go
create database testdb
containment = none
on primary
( name = n'testdb', filename = n'd:\testdb.mdf' , size = 8192kb , maxsize = unlimited,
filegrowth = 65536kb )
log on
( name = n'testdb_log', filename = n'd:\testdb_log.ldf' , size = 8192kb , maxsize = 2048gb ,
filegrowth = 65536kb )
go
use testdb
go
create table [dbo].[usertest](
[id] [int] null,
[uname] [varchar](50) null,
[age] [int] null
) 
go
insert [dbo].[usertest] ([id], [uname], [age]) values (1, n'ceshi1', 18)
go
insert [dbo].[usertest] ([id], [uname], [age]) values (2, n'ceshi2', 19)
go
insert [dbo].[usertest] ([id], [uname], [age]) values (3, n'ceshi3', 20)
go
insert [dbo].[usertest] ([id], [uname], [age]) values (4, n'ceshi4', 21)
go
insert [dbo].[usertest] ([id], [uname], [age]) values (5, n'ceshi5', 22)
go

创建数据库

2.创建完数据库后,对数据库进行备份

在这里插入图片描述

进行一次完整备份数据库,可以将备份文件放到指定的目录去

在这里插入图片描述

同理操作再进行一次事务日志备份

在这里插入图片描述

在这里插入图片描述

创建数据库后的基础备份就已经完成了

2.模拟日常操作

1.模拟创建新表

use testdb
--模拟正确创建表结构
select* into ceshi1 from usertest
select* into ceshi2 from usertest
select* into ceshi3 from usertest

select * from ceshi1
select * from ceshi2
select * from ceshi3

能查到ceshi1,ceshi2,ceshi3表中的数据

在这里插入图片描述

2.模拟误操作

--模拟错误删除表结构
delete from ceshi1
truncate table dbo.ceshi2
drop table dbo.ceshi3

此时再去查询三张表显示没有数据,以及没有表结构,这是比较常见的误操作

在这里插入图片描述

3.误操作的恢复准备

在发生了误操作后,先别慌,我们首先要看一下目前的时间,并记录,比如我这边发生误操作的时间大概是

在这里插入图片描述

记录时间后,我们需要首先将数据库的访问权限设置为单用户,这样做的目的是为了防止新数据写入到数据库,我们后面恢复的话会丢失这部分数据,所以需要先将其他用户的访问权限关了

在这里插入图片描述

在这里插入图片描述

完成对权限的控制后,我们再次对数据库进行一次尾部事务备份

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

完成以上操作后,我们可以看到数据库处于正在还原的状态

在这里插入图片描述

4.对数据库进行还原恢复

首先我们对文件和文件组进行还原

在这里插入图片描述

选择最近的完整备份

在这里插入图片描述

选项里面选择不回滚

在这里插入图片描述

随后我们再对事务日志进行还原

在这里插入图片描述

在这里插入图片描述

这里就需要用到我们之前记录的发生错误的时间了,越精准,就越可以减少损失,我的是15:28:52,因为我截图花了点时间,实际发生错误可能是在45秒的样子,为了以防万一我演示就还原到15:28:40的样子,实际上正式站,越接近误操作时间越好

在这里插入图片描述

还原过程就结束了

5.检查数据库还原是否成功

查询ceshi1,ceshi2,ceshi3是否还原成功

select * from ceshi1
select * from ceshi2
select * from ceshi3

在这里插入图片描述

确认还原成功后,需要对数据库再进行一次完整备份(这个地方是我自己测试下来,发现,如果恢复一次后,不进行完整备份,就会出现,下次恢复的时候,事务日志对不上的情况),这里可能会发生我们操作不了数据库的情况,因为是单用户的情况

在这里插入图片描述

这里我们只需要切换一下数据库,不再占用访问就行

use master

在这里插入图片描述

随后对数据库进行完整备份

在这里插入图片描述

在这里插入图片描述

完成之后,将数据库恢复到多用户访问就行

在这里插入图片描述

在这里插入图片描述

整个数据库备份恢复过程就结束了

注意

1.数据库创建后必须有一次完整备份

2.完成恢复后必须对数据库进行一次完整备份,不然下次恢复时可能会出现事务日志对不上的问题

以上就是sql server数据库简单的事务日志备份恢复流程的详细内容,更多关于sql server事务日志备份恢复的资料请关注代码网其它相关文章!

(0)

相关文章:

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

发表评论

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