首页 > 数据库 >【SQL Server】本地备份和还原

【SQL Server】本地备份和还原

时间:2024-08-16 11:05:42浏览次数:13  
标签:-- 备份 数据库 Server SQL SQLTest ID 误操作

之前对备份和还原的理解仅限于。定时备份,然后恢复到上次备份这样的基础——https://www.cnblogs.com/luyj00436/p/18360825 。这样,上次备份到这次误操作,数据就损失了。现在有以下测试数据:

SELECT * FROM SQLTest

完成这些后,进行备份(完整备份)。

接下来,我们进行日常的操作和误操作。

---- 正常操作
INSERT INTO SQLTest(ID,c1) VALUES (6,'test6')
INSERT INTO SQLTest(ID,c1) VALUES (7,'test7')
INSERT INTO SQLTest(ID,c1) VALUES (8,'test8')
INSERT INTO SQLTest(ID,c1) VALUES (9,'test9')
INSERT INTO SQLTest(ID,c1) VALUES (10,'test10')

-- 正常操作前数据
SELECT *
FROM SQLTest

WAITFOR DELAY '00:00:01';  -- 延时1s
-- 误操作
SELECT GETDATE() AS '误操作前的时间'    -- 2024-08-16 10:58:33.370
WAITFOR DELAY '00:00:01';  -- 延时1s
DELETE SQLTest
SELECT GETDATE() AS '误操作后的时间'    -- 2024-08-16 10:58:34.387
SELECT * FROM SQLTest

此时,数据表 SQLTest 已经为空。如果直接还原,数据库恢复为上图所示,最大ID为9。而我们希望恢复数据形式如下:

 

 这里,我们看到了误操作的时间。

数据库恢复

具体恢复步骤如下:、

1. 完成事物日志备份。

2.设置数据库为单访问模式,并杀死其他进程。

3. 还原数据到合适的时间点前。

完成事物日志备份(非常重要)

右击数据库,选择事物日志备份。

 

 

 注意,在日志选项中,一定要选择“被封日志尾部,并使得数据库处于还原状态”(关键步骤)。

 

设置数据库为单访问模式,并杀死其他进程

右击数据库属性,设置为单用户访问。

如果发现备份不了可以用下面语句查看,并把spid杀掉:

SELECT * FROM sys.sysprocesses WHERE dbid=DB_ID('SQLTestDB')

杀掉spid脚本

KILL spid

还原数据到合适的时间点前

 接下来,要选择误操作(删除)前面一点儿的时间,确保数据库损失最小。

 完成后,可以恢复数据库多用户模式。

标签:--,备份,数据库,Server,SQL,SQLTest,ID,误操作
From: https://www.cnblogs.com/luyj00436/p/18362470

相关文章

  • MySql计算用户留存率
    定义,每日新增的10个用户,在次日再次登陆有5个记为留存数5个,次日留存率为50%,在第七日还有3个,记为留存数3个,次日留存率为30%;表1:hlj_user_base_info(用户注册表,记录用户注册信息);关键字段,user_id,device_id,register_time表2:hlj_user_click_url_point(用户点击表,记录用户点击行为);关键字......
  • SQL常用思维总结
    1.将复杂查询拆分为子查询子查询指的是:一个查询语句嵌套在另一个查询语句内部的查询,作为上级查询的查询条件之一--查询课程1分数比课程2分数高的学生的学生信息、课程1分数、课程2分数selectstudent.*,score1,score2fromstudentjoin(selectt1.s_id,t1.s_scorescore1,t2......
  • MySQL:查询(万字超详细版)
       ......
  • mysql数据库中decimal数据类型比较大小
    在MySQL中,DECIMAL数据类型用于存储精确的数值,它非常适合用于需要高精度计算的场景,如金融应用。当我们需要在MySQL数据库中比较DECIMAL类型数据的大小时,可以使用标准的比较运算符,如>,<,>=,<=,=和<>(或!=)。以下是一个详细的示例,说明如何在MySQL中使用DECIMAL数据类型并比较......
  • mysql数据库中decimal数据类型比较大小
    在MySQL中,DECIMAL数据类型用于存储精确的数值,它非常适合用于需要高精度计算的场景,如金融应用。当我们需要在MySQL数据库中比较DECIMAL类型数据的大小时,可以使用标准的比较运算符,如>,<,>=,<=,=和<>(或!=)。以下是一个详细的示例,说明如何在MySQL中使用DECIMAL数据类型并比较它......
  • 200T 数据库非归档无备份恢复---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:200T数据库非归档无备份恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]一套近200T的,6个节点的RAC,由于存储管线链路不稳定,导致服务器经常性掉盘,引起asm磁盘组频繁dismount......
  • 【待做】Mysql攻击之UDF提权
    一、前置知识1.1secure_file_privUDF是mysql的一个拓展接口,UDF(Userdefinedfunction)可翻译为用户自定义函数,这个是用来拓展Mysql的技术手段。这就意味着,我们可以通过udf为mysql添加任意功能,包括自定义sql函数,tcp开发,http请求,甚至直接调用系统命令;一、前置知识1.1......
  • SQL— DDL语句学习【后端 10】
    SQL—DDL语句学习在数据管理的广阔领域中,SQL(StructuredQueryLanguage)作为操作关系型数据库的编程语言,扮演着举足轻重的角色。它不仅定义了操作所有关系型数据库的统一标准,还为我们提供了强大的工具来管理、查询和修改数据库中的数据。今天,我们将一起走进SQL的世界,了解其......
  • sqli-labs靶场通关攻略
    Less-1sql手工注入攻击流程步骤一:确定攻击点,确定网站可以注入的参数http://127.0.0.1/Less-1/?id=1步骤二:判断闭合方式'--+步骤三:判断字段列数orderby1.http://127.0.0.1/Less-1/?id=1'orderby3--+页面正常说明存在3列2.http://127.0.0.1/Less-1/?id=1'or......
  • sqli-labs靶场通关攻略 1-5
    通过https://github.com/Audi-1/sqli-labs  下载sqli-labs靶场压缩包把靶场环境放入phpstudy_pro的www里面输入数据库密码使用php5.4.45nts版本输入127.0.0.1点击setup靶场建立第一关:less-1步骤一:根据提示确立攻击点,确定注入参数为id步骤二:判断闭合方式:id=1......