欢迎投稿

今日深度:

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

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


目录
  • 模拟数据库备份恢复过程
    • 1.基础操作
    • 2.模拟日常操作
  • 注意

    模拟数据库备份恢复过程

    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事务日志备份恢复的资料请关注PHP之友其它相关文章!

    您可能感兴趣的文章:
    • SQL Server 2008及更高版本数据库恢复方法之日志尾部备份
    • sqlserver 数据库日志备份和恢复步骤
    • SQL Server数据误删的恢复和备份流程
    • 使用java实现备份和恢复SQLServer表数据
    • 在SQL Server中备份和恢复数据库的四种方法

    www.htsjk.Com true http://www.htsjk.com/Sql_Server/48208.html NewsArticle SQLServer数据库简单的事务日志备份恢复流程, 目录 模拟数据库备份恢复过程 1.基础操作 2.模拟日常操作 注意 模拟数据库备份恢复过程 1.基础操作 1.创建TestDB数据库,并添加数据 USE...
    评论暂时关闭