提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|使用教程|编辑:鲍佳佳|2021-01-18 14:21:35.070|阅读 379 次
概述:在本文讨论数据还原过程时,介绍三种主要的数据库恢复类型:数据库完全恢复,数据库文件恢复建议,数据库界面恢复。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
dbForge Studio for SQL Server为有效的探索、分析SQL Server数据库中的大型数据集提供全面的解决方案,并设计各种报表以帮助作出合理的决策。
点击下载dbForge Studio for SQL Server最新试用版
数据库恢复类型
在本文讨论数据还原过程时,让我介绍三种主要的数据库恢复类型:
我建议我们更详细地探讨每种还原类型。因此,让我们从基本类型开始-一个简单的恢复模型和一个完整的恢复模型。
简单恢复模型
您可以使用以下脚本在简单恢复模型下从完全备份执行数据库恢复:
USE [master] RESTORE DATABASE [JobEmplDB] FROM DISK = N'\\Shared\Backup\Full\JobEmplDB_Full_backup_2020_07_19_13_20_55.bak' WITH FILE = 1, MOVE N'JobEmplDB' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB.mdf', MOVE N'JobEmplDB_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB_log.ldf', NOUNLOAD, REPLACE, STATS = 5; GO
因此,我们通过覆盖现有文件和JobEmplDB数据库并将文件传输到D:\ Program Files \ Microsoft SQL Server \ MSSQL15.MSSQLSERVER \ MSSQLSERVER \ DATA,从JobEmplDB_Full_backup_2020_07_19_14_21_57.bak备份中还原JobEmplDB数据库。
使用SSMS还原SQL Server数据库
或者,您可以在SSMS界面中执行相同的还原。为此,右键单击数据库,然后选择“还原数据库”选项:
图。1.在SSMS中选择数据库还原
接下来,在“常规”选项卡上,选择备份文件的路径以及要将其还原到的目标位置(还有创建新数据库的选项):
图。2. SSMS中的常规选项卡设置
请注意,“还原计划”部分提供了有关备份文件的详细信息。除其他外,它显示文件中存在的内容和备份类型。
之后,在“文件”选项卡上,指定将还原的数据库文件重新定位到的位置:
图。3. SSMS中的“文件”选项卡设置
在“选项”选项卡上,启用“覆盖现有数据库”选项:
图。4. SSMS中的“选项”选项卡设置
完全恢复模式
对于完整恢复模型,您将需要执行以下步骤。
首先,从完全备份还原数据库,然后将数据库切换到RESTORE WITH NORECOVERY模式:
图。5.在完全恢复模式下从完全备份还原数据库
简单恢复模型下的数据恢复脚本如下所示:
USE[master] RESTORE DATABASE[JobEmplDB] FROM DISK = N '\\Shared\Backup\Full\JobEmplDB_Full_backup_2020_07_19_13_20_55.bak' WITH FILE = 1, MOVE N 'JobEmplDB' TO N 'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB.mdf', MOVE N 'JobEmplDB_log' TO N 'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB_log.ldf', NORECOVERY, NOUNLOAD, REPLACE, STATS = 5; GO
其次,还原最后一个差异备份,并将数据库切换到RESTORE WITH NORECOVERY模式:
USE [master] RESTORE DATABASE [JobEmplDB] FROM DISK = N'\\Shared\Backup\Full\JobEmplDB_Full_backup_2020_07_19_13_20_55.bak' WITH FILE = 1, MOVE N'JobEmplDB' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB.mdf', MOVE N'JobEmplDB_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB_log.ldf', NORECOVERY, NOUNLOAD, REPLACE, STATS = 5; RESTORE DATABASE [JobEmplDB] FROM DISK = ‘N\\Shared\Backup\Diff\JobEmplDB_Diff_backup_2020_07_19_13_21_29.bak' WITH FILE = 1, MOVE N'JobEmplDB' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB.mdf', MOVE N'JobEmplDB_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB_log.ldf', NORECOVERY, NOUNLOAD, REPLACE, STATS = 5; GO
仅当差异备份与相应的完整备份文件位于同一文件中时,该可视界面才允许还原差异备份:
图。6. SSMS中的差异备份还原
在我们的例子中,我们得到以下查询:
USE [master] RESTORE DATABASE [JobEmplDB] FROM DISK = N'\\Shared\Backup\Full\JobEmplDB_Full_backup_2020_07_19_14_21_57.bak' WITH FILE = 3, MOVE N'JobEmplDB' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB.mdf', MOVE N'JobEmplDB_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB_log.ldf', NORECOVERY, NOUNLOAD, REPLACE, STATS = 5; RESTORE DATABASE [JobEmplDB] FROM DISK = N'\\Shared\Backup\Full\JobEmplDB_Full_backup_2020_07_19_14_21_57.bak' WITH FILE = 5, NORECOVERY, NOUNLOAD, REPLACE, STATS = 5; GO
即,JobEmplDB_Full_backup_2020_07_19_14_21_57.bak文件包含有关3的完全备份RD位置(FILE = 3)和差异备份是对5个位置(FILE = 5)。
第三,一个接一个地还原完成最后一个差异备份之后创建的所有事务日志:
RESTORE LOG [JobEmplDB] FROM DISK = N'\\Shared\Backup\Log\JobEmplDB_Log_backup_2020_07_19_17_04_54.trn' WITH NORECOVERY, NOUNLOAD, REPLACE, STATS = 5; GO
RESTORE LOG [JobEmplDB] FROM DISK = N'\\Shared\Backup\Log\JobEmplDB_Log_backup_2020_07_19_17_04_56.trn' WITH RECOVERY, NOUNLOAD, REPLACE, STATS = 5; GO
重要的是,仅当此备份位于包含完整备份的同一文件中时,图形界面才允许我们从事务日志备份中还原数据库:
图。7.事务日志备份还原
在我们的例子中,我们得到以下查询:
USE [master] RESTORE DATABASE [JobEmplDB] FROM DISK = N'\\Shared\Backup\Full\JobEmplDB_Full_backup_2020_07_19_14_04_25.bak' WITH FILE = 3, MOVE N'JobEmplDB' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB.mdf', MOVE N'JobEmplDB_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB_log.ldf', NORECOVERY, NOUNLOAD, REPLACE, STATS = 5; RESTORE LOG [JobEmplDB] FROM DISK = N'\\Shared\Backup\Full\JobEmplDB_Full_backup_2020_07_19_14_04_25.bak' WITH FILE = 4, NOUNLOAD, STATS = 5; GO
最后,我们获得以下用于完全还原JobEmplDB的最终脚本:
USE [master] --Restoring full backup RESTORE DATABASE [JobEmplDB] FROM DISK = N'\\Shared\Backup\Full\JobEmplDB_Full_backup_2020_07_19_14_04_25.bak' WITH FILE = 1, MOVE N'JobEmplDB' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB.mdf', MOVE N'JobEmplDB_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB_log.ldf', NORECOVERY, NOUNLOAD, REPLACE, STATS = 5; GO --restoring the last differential backup for the respective full backup RESTORE DATABASE [JobEmplDB] FROM DISK = N'\\Shared\Backup\Diff\JobEmplDB_Diff_backup_2020_07_19_14_04_44.bak' WITH FILE = 1, MOVE N'JobEmplDB' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB.mdf', MOVE N'JobEmplDB_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\JobEmplDB_log.ldf', NORECOVERY, NOUNLOAD, REPLACE, STATS = 5; GO -- restoring the sequence of transaction log backups after the last differential backup creation RESTORE LOG [JobEmplDB] FROM DISK = N'\\Shared\Backup\Log\JobEmplDB_Log_backup_2020_07_19_17_04_54.trn' WITH NORECOVERY, NOUNLOAD, REPLACE, STATS = 5; GO RESTORE LOG [JobEmplDB] FROM DISK = N'\\Shared\Backup\Log\JobEmplDB_Log_backup_2020_07_19_17_04_56.trn' WITH RECOVERY, NOUNLOAD, REPLACE, STATS = 5; GO
今天的内容就是这些,下篇文章我们将对如何恢复数据库文件和文件组进行详细讲解。
点击下载dbForge Studio for SQL Server,并通过30天免费试用版自行检查此功能!现dbForge Studio SQL Sever直降3000,在线订购正版授权最低只要1710元!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
dbForge Studio for SQL Server是用于SQL Server的终极管理工具。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢