SQL Server日记规复还原数据

打印 上一主题 下一主题

主题 517|帖子 517|积分 1551

SQL Server日记规复还原数据

   ##red##
通过日记还原,起首要留意的是:
1、在数据库更新和删除之前有一个完整的备份。
2、在更新和删除之后,做一个日记备份。
3、该日记只能用于还原数据库备份和日记备份时间之间的数据。
  下面看整个数据库备份和规复的利用流程:
创建一个数据库并完整备份:

创建数据库

新建一个数据库TEST用来测试

创建表

  1. -- 切换到 TEST 数据库
  2. USE TEST;
  3. GO
  4. -- 创建表
  5. CREATE TABLE TestTable (
  6.     ID INT IDENTITY(1,1) PRIMARY KEY,
  7.     Name NVARCHAR(50),
  8.     CreatedDate DATETIME
  9. );
  10. GO
  11. -- 插入测试数据
  12. INSERT INTO TestTable (Name, CreatedDate)
  13. VALUES
  14. ('Alice', GETDATE()),
  15. ('Bob', GETDATE()),
  16. ('Charlie', GETDATE()),
  17. ('David', GETDATE()),
  18. ('Eva', GETDATE()),
  19. ('Frank', GETDATE()),
  20. ('Grace', GETDATE()),
  21. ('Hannah', GETDATE()),
  22. ('Isaac', GETDATE()),
  23. ('Judy', GETDATE());
  24. GO
复制代码
记录本次利用时间2024-07-31 17:29:19
对数据库举行备份

右键数据库(TEST)-使命-备份:

先把默认的备份路径删除,要否则后面会出错,然后点添加:

选择文件位置

选择文件位置以及备份文件名

点击 确认 举行备份

备份完成

记录本次利用时间2024-07-31 17:30:50
模拟故障并规复数据

误删除利用

假设我们误利用删除了这个表,留意删除表的时间,后面会用到:
  1. DROP TABLE TEST.dbo.TestTable;
复制代码
记录本次利用时间2024-07-31 17:31:22
备份日记文件

  1. BACKUP LOG TEST TO DISK='D:\TEST_log.bak' WITH FORMAT
  2. GO
复制代码
记录本次利用时间2024-07-31 17:32:05

还原数据库

在 SQL Server Management Studio 中,右键单击要还原的数据库(Test),选择“使命” -> “还原” -> “数据库”

在“选项”标签中,勾选“关闭现有毗连到目标数据库”,选择 之前的全量备份 和 刚刚备份的事务日记

在常规里,选择一个还原到的具体时间点。

这里我们的误删利用发生在:2024-07-31 17:30:50
因此,我们选择还原到这个时间的前一刻,我选择 2024-07-31 17:31:00
点击“确定”开始还原

还原乐成

检验规复结果

还原完成后,我们需要验证数据是否已经被乐成规复。

规复数据库可读写

从刚刚的截图上我们看到,固然数据被规复了,但是因为利用了日记事务,所以TEST数据库酿成了备用/只读状态。当前状态下,数据库是无法被写入的,我们需要排除这种状态。
  1. -- 切换到 master 数据库
  2. USE master;
  3. -- 将数据库设置为读写模式
  4. ALTER DATABASE TEST SET READ_WRITE;
复制代码
革新数据库,看到数据库Test已经变为可写入的正常状态了


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南飓风

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表