SQL server在完整恢复模式下将数据库还原到故障点 (Transact-SQL)
本主题说明如何还原到故障点。 本主题仅与那些使用完整或大容量日志恢复模式的数据库相关。
还原到故障点
通过运行以下基本 BACKUP 语句来备份日志尾部:
1 BACKUP LOG <database_name> TO <backup_device> 2 WITH NORECOVERY, NO_TRUNCATE;
通过运行以下基本 RESTORE DATABASE 语句来还原完整数据库备份:
1 RESTORE DATABASE <database_name> FROM <backup_device> 2 WITH NORECOVERY;
或者,通过运行以下基本 RESTORE DATABASE 语句来还原差异数据库备份:
1 RESTORE DATABASE <database_name> FROM <backup_device> 2 WITH NORECOVERY;
通过在 RESTORE LOG 语句中指定 WITH NORECOVERY 以应用每个事务日志(包括步骤 1 中创建的结尾日志备份):
1 RESTORE LOG <database_name> FROM <backup_device> 2 WITH NORECOVERY;
通过运行以下 RESTORE DATABASE 语句来恢复数据库:
1 RESTORE DATABASE <database_name> 2 WITH RECOVERY;
示例
必须先完成下列准备工作,才能运行此示例:
AdventureWorks2012 数据库的默认恢复模式是简单恢复模式。 由于该恢复模式不支持还原到故障点,因此请将 AdventureWorks2012 设置为使用完整恢复模式,方法是运行以下 ALTER DATABASE 语句:
1 USE master; 2 GO 3 ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;
通过使用以下 BACKUP 语句,创建数据库的完整数据库备份:
1 BACKUP DATABASE AdventureWorks2012 TO DISK = 'C:\AdventureWorks2012_Data.bck';
创建例程日志备份:
1 BACKUP LOG AdventureWorks2012 TO DISK = 'C:\AdventureWorks2012_Log.bck';
以下示例在创建 AdventureWorks2012 数据库的结尾日志备份后,将还原先前创建的备份。 (此步骤假设可以访问日志磁盘。)
首先,该示例将创建捕获活动日志的数据库结尾日志备份,并使数据库处于还原状态。 然后,该示例将还原数据库备份,应用先前创建的例程日志备份,并应用结尾日志备份。 最后,该示例将在单独的步骤中恢复数据库。
1 /* Example of restoring a to the point of failure */ 2 -- Step 1: Create a tail-log backup by using WITH NORECOVERY. 3 BACKUP LOG AdventureWorks2012 4 TO DISK = 'C:\AdventureWorks2012_Log.bck' 5 WITH NORECOVERY; 6 GO 7 -- Step 2: Restore the full database backup. 8 RESTORE DATABASE AdventureWorks2012 9 FROM DISK = 'C:\AdventureWorks2012_Data.bck' 10 WITH NORECOVERY; 11 GO 12 -- Step 3: Restore the first transaction log backup. 13 RESTORE LOG AdventureWorks2012 14 FROM DISK = 'C:\AdventureWorks2012_Log.bck' 15 WITH NORECOVERY; 16 GO 17 -- Step 4: Restore the tail-log backup. 18 RESTORE LOG AdventureWorks2012 19 FROM DISK = 'C:\AdventureWorks2012_Log.bck' 20 WITH NORECOVERY; 21 GO 22 -- Step 5: Recover the database. 23 RESTORE DATABASE AdventureWorks2012 24 WITH RECOVERY; 25 GO
分类:
SQL server
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了