首页 > 数据库 >【SQL】SQL Server还原完整备份和差异备份的操作过程

【SQL】SQL Server还原完整备份和差异备份的操作过程

时间:2024-01-26 17:55:32浏览次数:67  
标签:文件 备份 Server 选择 还原 SQL 日志 数据库

还原数据库遇到这个提示

 学习下差异备份

原文链接:https://blog.csdn.net/david_520042/article/details/129750565

1.首先右键数据库,点击还原数据库:
1、还原完整数据库,选择好完整数据库的备份文件,在【选项】中,【还原选项】选择覆盖现有数据库,【恢复状态】选择第二个,点击确定。

 然后会打开还原数据库窗口,如图所示:

 首先 “源” 选择设备,并且选择到完整备份的数据库备份文件

然后在 “目标” 数据库可直接填写还原以后的数据库名称
接着点击左侧文件:

 

建议勾选选项"将所有文件重新定位到文件夹",其实就是还原以后的数据库保存位置,当然不勾也一样能还原。

然后继续点击左侧选项:
在【选项】中,【还原选项】选择【覆盖现有数据库】,恢复状态选择第一个,点击确定即可。

 

覆盖现有数据库可勾可不勾,如果是还原到已存在的数据库,建议勾选。

重点:
第一个红框中的恢复状态选择:

如果只需要还原完整备份,选择RESTORE WITH RECOVERY
如果还需要还原差异备份,那就选择 RESTORE WITH NORECOVERY
第二个红框,取消默认勾选的"还原前进行结尾日志备份",本人操作时,不取消这个勾,会出现错误:

Exclusive access could not be obtained because the database is in use.

 


取消这个勾选,就不会报错。

以上操作都完成以后,就可以点击确定,耐心的等待还原了,数据库越大,还原时间越久。

如图所示,右上角会显示还原进度:

如果你在恢复状态选择的RESTORE WITH RECOVERY,那么还原成功后就可以正常访问数据库了。

但如果你在选择的 RESTORE WITH NORECOVERY ,那么在提示还原成功后,你可能会看到这种情况:
数据库名字后面出现 ”正在还原…“,说明此时你还需要还原差异备份。

 

操作步骤:选中数据库右击,选择【任务】->【还原】->【文件和文件组】

 

选择【源设备】,找到差异备份的文件,在下列的备份集中勾选中差异备份文件
可以看见对话框:

 

选择"源设备",并选择到需要还原的差异备份数据库文件,然后勾选"还原"。

点击左侧选项:

 

如上图所示,选择需要还原的数据库文件即可

点击确定开始还原。

 

 提示成功还原以后,刷新数据库,可以看到数据库之前"正在还原…"的字样已经不见了: 

 

至此,数据库还原已完成,已经可以正常访问数据库了。

名词解释:
完全备份: 备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件。(在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份,换言之,清除存档属性)。完全备份也叫完整备份。

差异备份: 差异备份是针对完全备份:备份上一次的完全备份后发生变化的所有文件。(差异备份过程中,只备份有标记的那些选中的文件和文件夹。它不清除标记,即:备份后不标记为已备份文件,换言之,不清除存档属性)。

增量备份: 增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件。(增量备份过程中,只备份有标记的选中的文件和文件夹,它清除标记,即:备份后标记文件,换言之,清除存档属性。)

事务日志备份: 在特定事务日志备份之前执行的完整数据库备份和上次差异备份(如果有)。在完整数据库备份之后执行的所有事务日志备份或在特定事务日志备份之前执行的差异备份(如果您还原了差异备份)。如果你设置了恢复模式为【简单】,你将无法使用【事务日志】备份。SQL Server 2000 和 SQL Server 2005: 创建事务日志备份,您必须使用完整恢复或大容量日志记录恢复模型。

部分备份: 通过指定 READ_WRITE_FILEGROUPS 创建的备份称为“部分备份”。在简单恢复模式下,只允许对只读文件组执行文件组备份。还原的数据备份类型:数据库备份、部分备份或文件备份。对于数据库备份或部分备份,日志备份序列必须从数据库备份或部分备份的结尾处开始延续。对于一组文件备份,日志备份序列必须从整组文件备份的开头开始延续。

文件备份: “文件备份”包含一个或多个文件(或文件组)中的所有数据。

日志链: 连续的日志备份序列称为“日志链”。日志链从数据库的完整备份开始。通常,仅当第一次备份数据库时,或者将恢复模式从简单恢复模式切换到完整恢复模式或大容量日志恢复模式之后,才会开始一个新的日志链。除非在创建完整数据库备份时选择覆盖现有备份集,否则现有的日志链将保持不变。在该日志链保持不变的情况下,便可从媒体集中的任何完整数据库备份还原数据库,然后再还原相应恢复点之前的所有后续日志备份。恢复点可以是上次日志备份的结尾,也可以是任何日志备份中的特定恢复点。
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/david_520042/article/details/129750565

标签:文件,备份,Server,选择,还原,SQL,日志,数据库
From: https://www.cnblogs.com/Dongmy/p/17989873

相关文章

  • 1、mysql概述
    1.连接管理与安全性每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心或者CPU中运行。服务器会负责缓存线程,因此不需要为每一个新建的连接创建或者销毁线程。当客户端(应用)连接到MySOL服务器时,服务器需要......
  • LntonAIServer视频汇聚算法分析平台区域行人入侵算法检测
    在这个信息化飞速发展的时代,安全已成为我们不可忽视的话题。随着科技的进步,传统的物理防护手段已无法满足日益增长的安全需求。在这样的背景下,LntonAIServer视频汇聚算法分析平台应运而生,它如同一双智慧之眼,守护着我们的安全边界。LntonAIServer平台的核心技术之一便......
  • 数据库安全||MySQL数据库安全中MySQL权限表:包括用户管理、权限管理等&用户管理:创建、
    MySQL数据库安全:MySQL数据库安全:MySQL权限表:包括用户管理、权限管理等。用户管理:创建、修改、删除用户账号。权限管理:查看、授予和撤销用户权限。1.MySQL数据库中的权限表是存储用户权限信息的核心部分,它们位于mysql数据库中。这些权限表包含了用户账号、密码、权限以及其他与用户......
  • Failed to connect to github.com port 443 after 21051 ms: Couldn't connect to ser
    使用git克隆远程仓库的代码,总是显示连接不上服务器,https和ssh都试了还是连不上。打开cmd去pinggithub.com也是显示连接超时,但是浏览器里面还是可以正常访问github。网上搜了一下,使用"ipconfig/flushdns"在cmd里面刷新一下本地的dns缓存,还是不行。最后找到一个方法,修改本地hosts文......
  • K8S 集群 apiserver-advertise-address实例节点IP切换VIP
    1.备份当前k8s集群配置文件(3个master都备份) cp-r/etc/kubernetes/etc/kubernetes.bak2.删除当前k8s集群的apiserver的cert和keyrm-rf/etc/kubernetes/pki/apiserver.*3.生成新的apiserver的cert和key,cd到pki目录下cd/etc/kubernetes/pki/---apiserver-advertise-......
  • PostgreSQL技术大讲堂 - 第43讲:流复制原理
       PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUGPG技术大讲堂。 第43讲:流复制原理 PostgreSQL第43讲:1月27日(周六)1......
  • [SQLAlchemy] sqlAlchemy学习笔记(3): 在orm中使用join
    JOIN连接表➡️官方文档⬅️在sqlalchemy中实现JOIN/ON语句,需要用到Select.join()或者Select.join_from()假设我们有两张表(在python中就变成了两个类)User和Address,User表中有一列addresses,表示该用户使用的所有地址的集合(反映到代码中,就是Address对象的集合);同时Ad......
  • 达梦数据库常用sql
    自增模式自增模式当设置IDENTITY_INSERT为ON时,必须把需要插入的列名列出来,不然报错正确例子:SETIDENTITY_INSERT(表名)ONinsertintotable(id,name)value(1,名称)SETIDENTITY_INSERT(表名)OFF我的改为如下可以正常执行:setIDENTITY_INSERTdbo.t_scsoni......
  • SQLCommon封装基础查询方法
    点击查看代码///<summary>///单一结果查询///</summary>///<paramname="sql"></param>///<returns></returns>publicstaticintExecuteNonQuery(stringsql){......
  • GreatSQL 2023 年报
    不知不觉2023年已经是过去式了,本文将从产品迭代、丰收收获、生态合作、社区活动4个方面带大家了解GreatSQL社区的2023。01产品迭代2023年是发展的一年。在这一年里,GreatSQL社区版发布了3个版本:8.0.25-17、8.0.32-24以及8.0.32-25。在最新发布的8.0.32-25版本中,G......