目录
- 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日志恢复还原数据的资料请关注编程网(www.lsjlt.com)其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756