IT俱乐部 MsSql SQL Server日志恢复还原数据的操作流程

SQL Server日志恢复还原数据的操作流程

SQL Server日志恢复还原数据

##red##

通过日志还原,首先要注意的是:

1、在数据库更新和删除之前有一个完整的备份。

2、在更新和删除之后,做一个日志备份。

3、该日志只能用于还原数据库备份和日志备份时间之间的数据。

下面看整个数据库备份和恢复的操作流程:

创建一个数据库并完整备份:

创建数据库

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

创建表

-- 切换到 TEST 数据库
USE TEST;
GO

-- 创建表
CREATE TABLE TestTable (
    ID INT IDENTITY(1,1) PRIMARY KEY,
    Name NVARCHAR(50),
    CreatedDate DATETIME
);
GO

-- 插入测试数据
INSERT INTO TestTable (Name, CreatedDate)
VALUES 
('Alice', GETDATE()),
('Bob', GETDATE()),
('Charlie', GETDATE()),
('David', GETDATE()),
('Eva', GETDATE()),
('Frank', GETDATE()),
('Grace', GETDATE()),
('Hannah', GETDATE()),
('Isaac', GETDATE()),
('Judy', GETDATE());
GO

记录本次操作时间2024-07-31 17:29:19

对数据库进行备份

右键数据库(TEST)-任务-备份:

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

选择文件位置

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

点击 确认 进行备份

备份完成

记录本次操作时间2024-07-31 17:30:50

模拟故障并恢复数据

误删除操作

假设我们误操作删除了这个表,注意删除表的时间,后面会用到:

DROP TABLE TEST.dbo.TestTable;

记录本次操作时间2024-07-31 17:31:22

备份日志文件

BACKUP LOG TEST TO DISK='D:TEST_log.bak' WITH FORMAT
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数据库变成了备用/只读状态。当前状态下,数据库是无法被写入的,我们需要解除这种状态。

-- 切换到 master 数据库
USE master;

-- 将数据库设置为读写模式
ALTER DATABASE TEST SET READ_WRITE;

刷新数据库,看到数据库Test已经变为可写入的正常状态了

以上就是SQL Server日志恢复还原数据的操作流程的详细内容,更多关于SQL Server日志恢复还原数据的资料请关注IT俱乐部其它相关文章!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/database/mssql/14526.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部