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

模拟数据库备份恢复过程
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 UserTestSELECT * 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数据库简单的事务日志备份恢复
模拟数据库备份恢复过程 1.基础操作 1.创建TestDB数据库,并添加数据 USE [master] GO CREATE DATABASE TestDB CONTAINMENT NONE ON PRIMARY ( NAME NTestDB, FILENAME ND:\TestDB.mdf , SIZE 8192KB , MAXSIZE UNLIMITED, FILEGROWTH 65536KB ) LOG ON ( …...
二级C语言2023-3易错题
1 下列叙述中正确的是 A. 循环队列是队列的链式存储结构 B. 能采用顺序存储的必定是线性结构 C. 所有的线性结构都可以采用顺序存储结构 D. 具有两个以上指针的链表必定是非线性结构 正确答案:C C的陈述是正确的。线性结构是一种基本的数据结构,它包括…...
【2024】前端学习笔记9-内部样式表-外部导入样式表-类选择器
学习笔记 内部样式表外部导入样式表类选择器:class 内部样式表 内部样式表是将 CSS 样式规则写在 HTML 文档内部。通过<style>标签在 HTML 文件的<head>部分定义样式。 简单示例: <!DOCTYPE html><html><head><style…...
回归传统,Domino拷贝式迁移!
大家好,才是真的好。 前面讲太多普及型的概念,今天我们来点实在的内容。 在Notes/Domino的黄金年代,有一件事情大家干得风生水起,那就是Domino服务器迁移。 要么迁移到另一台硬件服务器上,要么迁移到新换的磁盘当中…...
商品搜索API返回值解析:关键字搜索如何优化商品推荐
优化商品推荐 关键字搜索优化:分析用户搜索的关键字,并确定每个关键字的权重,使用这些权重来调整搜索结果和推荐结果的相关性。 taobao.item_search 公共参数 请求地址: 名称类型必须描述keyString是调用key(必须以GET方式拼接…...
暴雨总裁孙辉:不是所有应用都要追求“大”模型
9月19日,在暴雨青海渠道大会上,暴雨总裁孙辉谈及了AI的发展趋势和暴雨的智能化战略。 当前AI依然火热,孙辉认为:“从商业应用角度看,从来没有一项技术进步像AI一样,在如此短的时间内产生如此大的影响。AI技…...
【掌桥科研-注册安全分析报告-无验证方式导致安全隐患】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…...
BERT推理显存爆满?7个实用技巧教你快速优化!显存优化的最佳实践指南
如果只使用BERT进行推理得到词向量,但显存仍然爆满,以下几个建议可以帮助缓解显存问题: 分批处理(Batching): 即使是在推理阶段,也可以将输入数据分成较小的批次(batch)&…...
JS实现树形结构数据中特定节点及其子节点显示属性设置的技巧(可用于树形节点过滤筛选)
大家好,今天我要分享的是如何在树形结构的数据中,根据特定条件设置节点及其所有子节点的显示属性。在实际项目中,这种需求非常常见,特别是在需要动态展示和隐藏节点的情况下。下面我将通过一个具体的示例来讲解实现过程。 需求分析…...
第二证券:金价涨了!创一历史之最!
当地时间周四,金融商场进一步消化美联储大幅降息50个基点的利率抉择,认为这是为了完结美国经济“软着陆”的一次防备式降息,而非紧急应对阑珊风险的降息,加之当天公布的上星期初度申请赋闲救助人数低于预期,投资者对美…...
maxwell 输出消息到 kafka
文章目录 1、kafka-producer2、运行一个Docker容器,该容器内运行的是Zendesk的Maxwell工具,一个用于实时捕获MySQL数据库变更并将其发布到Kafka或其他消息系统的应用3、进入kafka容器内部4、tingshu_album 数据库中 新增数据5、tingshu_album 数据库中 更…...
青柠视频云——视频丢包(卡顿、花屏、绿屏)排查
一、问题说明 近期有客户反馈,接入平台的设备经常出来卡顿、花屏、录屏的情况,出现这样的场景很是尴尬。 客户是私有化部署在公网环境,于是我们联系客户,对问题进行追踪排查。 二、场景复现 我们现场情况确认的过程中,…...
单片机原理及应用
引言 单片机(Microcontroller Unit, MCU)作为现代电子技术的核心之一,广泛应用于工业自动化、消费电子、医疗设备、汽车电子、航空航天等多个领域。它集成了CPU(中央处理器)、存储器、输入输出接口及定时/计数器等功能…...
sql中拼接操作
SQL中的拼接操作 常用listagg聚合函数用法 也可用 XMLAGG代替上述操作 常用listagg聚合函数 LISTAGG(column, [separator]) WITHIN GROUP (ORDER BY order_by_clause)column:你想要连接起来的列。 [separator]:可选参数,用于指定列值之间的分…...
基于C语言+SQL Server2008实现(控制台)图书管理系统
第1章 概述 1.1项目背景 随着科技的发展,尤其是计算机技术的迅猛发展,图书馆管理的问题从以往的人工管理,到现在的电脑化,系统化,是对图书馆管理方法的质的飞跃,这些技术不仅让图书馆管理变得更加方便、快…...
Msf之Python分离免杀
Msf之Python分离免杀 ——XyLin. 成果展示: VT查杀率:8/73 (virustotal.com) 火绒和360可以过掉,但Windows Defender点开就寄掉了 提示:我用360测的时候,免杀过了,但360同时也申报了,估计要不了多久就寄…...
electron-updater实现electron全量版本更新
在 Electron 应用中使用 electron-updater 来实现自动更新功能时,通常你会在一个专门的模块或文件中管理更新逻辑。如果你想要使用 ES6 的 import 语法来引入 electron-updater,你需要确保你的项目已经配置好了支持 ES6 模块的构建工具(如 We…...
Mysql梳理6——order by排序
目录 6 order by排序 6.1 排序数据 6.2 单列排序 6.3 多行排列 6 order by排序 6.1 排序数据 使用ORDER BY字句排序 ASC(ascend):升序DESC(descend):降序 ORDER BY子句在SELECT语句的结尾 6.2 单列排序 如果没有使用排序操作,默认…...
Java设计模式—面向对象设计原则(三) -----> 依赖倒转原则DIP(完整详解,附有代码+案例)
文章目录 3.3 依赖倒转原则(DIP)3.3.1概述3.3.2 案例 3.3 依赖倒转原则(DIP) 依赖倒转原则:Dependency Inversion Principle,DIP 3.3.1概述 高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细…...
Linux操作系统 进程(3)
接上文 Linux进程优先级之后,我们了解到僵尸进程与孤儿进程的形成原因,既然是因为父进程没有接收子进程的退出状态导致的,那么我们该如何去获取子进程的退出状态呢?那本篇文章将围绕这个问题来解释进程。 环境 : vsco…...
SimpleDateFormat 线程安全问题及修复方案
目录概述一、问题背景二、线程不安全的原理分析2.1 内部状态共享2.2 字段解析的非原子性2.3 异常的不可预测性三、问题复现代码示例四、修复与替代方案4.1 方案一:方法内创建(Thread-Local)4.2 方案二:使用 ThreadLocal 封装4.3 方…...
12. 欧姆定律计算器
1. 欧姆定律计算器 功能介绍: 本应用旨在帮助学生快速验证欧姆定律(I=U/RI=U/RI=U/R)的计算关系。用户可以通过滑块...
2025届毕业生推荐的AI辅助写作网站实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 着手降低AIGC痕迹存有三方面。一方面来讲,关乎对句式结构予以调整,要…...
别再乱写音视频了!FFmpeg的av_interleaved_write_frame到底怎么用才不卡顿?
深入解析FFmpeg中av_interleaved_write_frame的高效使用技巧 音视频开发中,最令人头疼的问题莫过于音画不同步和卡顿。我曾在一个直播推流项目中,连续三天被这个问题折磨得焦头烂额——画面流畅但声音总是延迟半秒出现,用户体验极差。最终发…...
如何让老旧苹果电脑重获新生:OpenCore Legacy Patcher完全指南
如何让老旧苹果电脑重获新生:OpenCore Legacy Patcher完全指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你的2008-2017年老款Mac是否因为苹…...
告别ArcMap:在ArcGIS Pro 3.0时代,如何正确获取并配置PostgreSQL的ST_Geometry.dll
深度解析:ArcGIS Pro 3.0与PostgreSQL空间数据库的ST_Geometry.dll配置实战 当我们将空间数据库从传统ArcMap迁移到ArcGIS Pro 3.0时,ST_Geometry.dll这个看似微小的动态链接库文件往往成为最容易被忽视却又最关键的技术瓶颈。许多资深GIS工程师在深夜调…...
探索Comsol光学仿真模型:纳米球/柱Mie散射多级分解
Comsol光学仿真模型:包括纳米球/柱 Mie散射多级分解最近在研究光学仿真,Comsol 这个强大的工具简直太实用啦!今天就来和大家分享一下 Comsol 里的光学仿真模型,特别是纳米球/柱的 Mie 散射多级分解。 什么是 Mie 散射?…...
智能SQL工具全攻略:从自然语言到高效数据查询的技术实践
智能SQL工具全攻略:从自然语言到高效数据查询的技术实践 【免费下载链接】sqlcoder SoTA LLM for converting natural language questions to SQL queries 项目地址: https://gitcode.com/gh_mirrors/sq/sqlcoder 在数据驱动决策的时代,智能SQL工…...
abaqus constraint 中,tie和coupling的区别
通过AI整理相关问题回答 tie和coupling的区别 在 Abaqus 中,Tie (绑定) 和 Coupling (耦合) 是最常用的两种连接约束,但它们在力学逻辑、自由度限制和应用场景上有着本质的区别。1. Tie Constraint (绑定约束) Tie 的核心逻辑是“胶合”。它将两个表面&a…...
s2-pro新手避坑指南:3步搞定文本转语音,常见问题全解析
s2-pro新手避坑指南:3步搞定文本转语音,常见问题全解析 1. s2-pro语音合成快速入门 s2-pro是Fish Audio开源的专业级语音合成工具,它能将文字转换成自然流畅的语音。对于刚接触语音合成的新手来说,这个工具特别友好,…...
