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已经变为可写入的正常状态了
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |