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

news2024/9/20 10:35:15

请添加图片描述

模拟数据库备份恢复过程

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2128562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端开发人员都必须知道的 7 个 Vue3 组件库!

Vue.js 是一个流行的 JavaScript 框架,它以其易用性和灵活性吸引了大量开发人员。 随着 Vue 3 的发布,生态系统也迎来了新的变化和增强。 本文将介绍每个前端开发人员都必须知道的 7 个 Vue 3 组件库,并提供详细步骤、代码示例和相关图片链…

编译原理/软件工程核心概念-问题理解

目录 1.程序的编译执行过程 2.指针和引用的区别 3.堆和栈的区别 4.最熟悉的编程语言- Python:介绍PyTorch和TensorFlow框架 5.C与C的区别 6.软件工程是什么? 7.简述瀑布模型 8.敏捷开发方法是什么?它与瀑布模型相比有哪些优势和劣势 1…

Python 数学建模——高斯核密度估计

文章目录 前言原理代码实例scipy 实现seaborn 实现 前言 高斯核密度估计本是一种机器学习算法,在数学建模中也可以发挥作用。本文主要讨论用它来拟合变量的概率密度,获得概率密度函数 f ( x ) f(x) f(x)。 原理 已知一个连续型随机变量 X X X 的一系列…

实战千问2大模型第三天——Qwen2-VL-7B(多模态)视频检测和批处理代码测试

画面描述:这个视频中,一位穿着蓝色西装的女性站在室内,背景中可以看到一些装饰品和植物。她双手交叉放在身前,面带微笑,似乎在进行一场演讲或主持活动。她的服装整洁,显得非常专业和自信。 一、简介 阿里通义千问开源新一代视觉语言模型Qwen2-VL。其中,Qwen2-VL-72B在大…

Kubernetes部署(haproxy+keepalived)高可用环境和办公网络打通

HAProxy Keepalived 部署高可用性入口: 部署两台或多台节点运行 HAProxy 作为负载均衡器。使用 Keepalived 实现 VIP(虚拟 IP),为 HAProxy 提供高可用性。Keepalived 会监控 HAProxy 的状态,如果主节点失效&#xff0…

再次进阶 舞台王者 第八季完美童模全球赛荣耀大使【殷淑窈】赛场秀场超燃合集!

7月20-23日,2024第八季完美童模全球总决赛在青岛圆满落幕。在盛大的颁奖典礼上,一位才能出众的少女——殷淑窈,迎来了她舞台生涯的璀璨时刻。 荣耀大使——殷淑窈,以璀璨童星之姿,优雅地踏上完美童模盛宴的绚丽舞台&am…

51单片机应用开发---二进制、十六进制与单片机寄存器之间的关系(跑马灯实例)

实现目标 1、掌握二进制与十六进制之间的转换 2、掌握单片机寄存器与二进制、十六进制之间的转换 一、二进制与十六进制之间的转换 1、二进制 二进制(binary), 是在数学和数字电路中以2为基数的记数系统,是以2为基数代表系统…

Java面试篇基础部分-Java中的集合类

Java集合是面试中经常被问到的一块内容,很多人在这个地方被面试官吊打。Java集合类被定义在java.util包中,主要有四种集合,分别是List、Queue、Set和Map,每种集合分类如下图所示 List集合 List是一种在开发中比较常用的集合类,作为有序的Collection的典范,分别有如下的…

股指期货的指数一直贴水是什么意思?

在投资的世界里,股指期货是一个既复杂又充满机会的领域。而“股指期货贴水”这一现象,更是让不少投资者感到困惑。今天,我们就用大白话,来详细解释一下股指期货贴水到底是什么意思。 一、什么是股指期货? 首先&#…

ppt一键生成软件免费版有哪些?职场小白看这里

俗话说得好:时间就是金钱,一款好用且高效的工具无疑能让我们的工作事半功倍。 特别是经常需要制作ppt的朋友,拥有ppt一键生成软件免费工具可以帮你们更高效的完成工作,将精力投入到其他事项去。 因此,今天这篇文章找…

虚拟电厂高质量发展,大众氢能港引领能源管理新变革

在2024年这个充满希望的夏日,上海市政府正式印发了《上海市虚拟电厂高质量发展工作方案》,标志着上海在探索能源结构优化、促进绿色低碳发展的道路上迈出了坚实的一步。该方案不仅为虚拟电厂的未来发展绘制了清晰的蓝图,更通过一系列创新举措…

Github 2024-09-09 开源项目周报 Top15

根据Github Trendings的统计,本周(2024-09-09统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目6TypeScript项目4Jupyter Notebook项目2C++项目2JavaScript项目2Shell项目1Dockerfile项目1C#项目1Dart项目1Rust项目1Microsoft Pow…

大健康企业如何通过私域流量与积分增值模式实现业绩飞跃

在探讨大健康领域的一家创新企业时,我们发现其成功之路并非仅仅依赖传统电商的广撒网策略,如大规模广告投放和促销优惠,而是巧妙转型,深耕私域流量的构建与独特商业模式的应用。 这一转变不仅显著提升了月度销售业绩,更…

不小心把电脑格式化了怎么恢复?这些步骤帮你找回数据

在日常使用电脑的过程中,我们有时会因为各种原因不小心对电脑进行了格式化操作。一旦电脑被格式化,所有的数据都将被清除,这给用户带来了巨大的困扰和损失。 然而,不必过于绝望,因为有些方法可以帮助我们恢复被格式化…

作为负责招聘的HR,如何解决职位吸引力不足的问题

职位吸引力不足,很有可能是因为对职位描述的太过平淡无奇,没办法引起求职者足够的关心和了解。HR应当更加深入地挖掘企业特色,通过精心撰写职位描述,来凸显出企业的发展潜力和品牌文化等亮点,使用更加精确的描述&#…

小间距LED显示屏的模组与箱体参数

随着显示技术的发展,小间距LED显示屏因其高清晰度和高亮度而越来越受到市场的欢迎。然而,对于许多用户来说,如何理解和选择小间距LED显示屏的参数可能是一个挑战。本文将详细介绍小间距LED显示屏的两大核心参数:模组参数和箱体参数…

装饰者模式实现和JDK中的应用

🎯 设计模式专栏,持续更新中, 欢迎订阅:JAVA实现设计模式 🛠️ 希望小伙伴们一键三连,有问题私信都会回复,或者在评论区直接发言 装饰者模式 文章目录 装饰者模式🎯 核心要点&#x…

【保姆级教程】基于OpenCV实现实时道路车道检测【附完整源码】

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 👍感谢小伙伴们点赞、关注! 《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发…

安装python,jupter notebook,anaconda换源

目标: 学会安装Anaconda实验环境,创建Anaconda虚拟环境 能够设置国内镜像源 设置好Jupyter Notebook的文件存储路径并学会基本用法 内容: 一、安装Anaconda 首先,打开Anaconda官方网站(https://www.anaconda.com/…

stm32单片机个人学习笔记1(简单介绍)

前言 本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 STM32入门教程-2023版 细…