热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

SQLServer数据库备份和还原认识和总结(二)

本文将针对上文继续进行数据备份和还原讲解,主要讲解备份和还原的一些关键选项

本文将针对上文继续进行数据备份和还原讲解,主要讲解备份和还原的一些关键选项

通过《SQL Server 数据库备份和还原认识和总结(一)》,相信您对数据备份和还原有了一个更深入的认识,在上文中我没有对事务日志做剖析,在此推荐宋沄剑的文章,对事务日志做了比较详细的讲解.本文将针对上文继续进行数据备份和还原讲解,主要讲解备份和还原的一些关键选项。

数据库备份选项

备份数据库时,有几个备份选项需要了解一下,覆盖介质、事务日志等。谈到覆盖介质时,必须先对这个概念有所了解,不然无从谈起。

● 介质集 (media set):备份介质(磁带或磁盘文件)的有序集合,使用固定类型和数量的备份设备向其写入了一个或多个备份操作。介质集所使用的备份设备的数量决定了介质集中的介质簇的数量。 例如,如果介质集使用两个非镜像备份设备,则该介质集包含两个介质簇。通常,创建介质集后,后续备份操作将依次向介质集追加其备份集。

● 介质簇 (media family):在介质集中的单个非镜像设备或一组镜像设备上创建的备份。

● 备份集 (backup set):成功的备份操作将向介质集中添加一个备份集。

大致了解以上概念后,回到备份选项上来:

◆ 备份到现有介质集-追加到现有备份集

如果要将数据库备份到磁盘上,那么选择磁盘后(可以选择一个或多个磁盘驱动器,也可选择磁带机设备,在此以磁盘驱动器为例),如果保持默认【备份到现有介质集-追加到现有备份集】SQL Server将自动创建一个介质集(备份介质(磁盘文件或磁带)的每个卷都包含介质标头,介质标头是在第一次使用磁带(或磁盘)执行备份操作时创建的,它将包含介质的名称、介质集的唯一标识号、介质簇的唯一标识号等等),然后再将备份集添加到介质集中。例如上篇文章中首次完整备份,SQL Server将自动创建一个介质集,并将备份集添加到介质集中,接着再备份事务日志文件,此事务日志文件备份集将被追加到现有备份集,最终备份文件我们看到的只是一个备份文件MyTest.bak,但还原时选择此文件后,要还原的备份集列表将显示先后备份的备份集,如完整备份集、第一次事务日志备份集、第二次事务日志备份集等。

◆ 备份到现有介质集-覆盖所有现有备份集

此选项将覆盖介质上的所有备份集并保留介质标头(如果有)。 如果没有介质标头,则创建一个标头。覆盖备份时,保留现有的所有介质标头,同时将新的备份创建为备份设备中的第一个备份。

存在下列任一条件时不覆盖备份介质:

● 介质上的现有备份尚未过期。 (如果指定 SKIP,则不检查过期。)

过期日期将指定备份过期的日期,并可以由另一个备份覆盖。 创建备份时可以指定过期日期。 默认情况下,过期日期由使用 sp_configure 设置的 media retention 选项确定。

● 介质名称(如果有)与备份介质上的名称不匹配。

● 介质名称是一个描述性名称,用于方便地识别介质。

综上所述,它们的最大区别是,一个是向现在备份集追加备份集,一个是将现有备份集覆盖,即以前保存在该备份集里的信息将无法重新读取。

图1:备份时选择【追加到现有备份集】,还原时要还原的备份集里显示的,每次追加的备份集。

图2:备份时选择【覆盖所有现有备份集】,还原时要还原的备份集里显示的是已覆盖的备份集,以前追加的备份集已被覆盖。

检查介质集名称和备份集过期时间

图3:备份时输入的备份集名称和备份集过期时间,一般备份集默认会带有名称,如有必要可以修改为有意义的名称,过期时间一般保持默认永不过程。

有了上图,【检查介质集名称和备份集过期时间】里就明白该如何输入了,这个我没实验过,没有太大必要一一实验了。

◆ 备份到新介质集并清除所有现有备份集

选择此项可以清除以前的备份集,并使用新的媒体集备份数据库。

写入媒体前检查校验和。将会在写入备份媒体前验证校验和,如果选中此项,可能会增大工作负荷,并降低备份操作的备份吞吐量。

出错时继续。如果备份数据库时发生了错误,备份工作还将继续进行。

事务日志(只有在备份时备份类型选择为【事务日志】,此项才会被激活)

● 截断事务日志。选择此项会备份事务日志并将其截断,以便释放更多的日志空间,此时数据库处于在线状态。

备份日志尾部,并使数据库处于还原状态。选择此项会备份日志尾部并使数据库处于还原状态,该项创建尾日志备份,用于备份尚未备份的日志。当故障转移到辅助数据库或为了防止在还原操作之前丢失所做工作,该选项很有作用。选择该项后,在数据库完全还原之前,数据库无法使用。

磁带机。选择用磁带机设备备份数据库时选择此选项。

备份相关选项,MSDN有一篇文档讲得相当细,在此推荐。看完此文档后将对备份存储方面有一个深入的认识

数据库还原选项

◆ 【覆盖现有数据库】复选框:选中此项会覆盖所有现有数据库以及相关文件,包括已存在的同名其他数据库或文件。

◆ 【保留复制设置】复选框:选中此项会将已发布的数据库还原到创建该数据库的服务器之外的服务器时,保留复制设置。不过该项只有在选择了【回滚未提交的事务,使数据库处于可以使用的状态】单选按钮之后才可以使用。

◆ 【限制访问还原的数据库】复选框:

以上为我对SQL Server数据库备份和还原的认识和总结,如有遗漏掉的细节或讲解错误,还望高手纠正,多谢!

推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了如何找到并终止在8080端口上运行的进程的方法,通过使用终端命令lsof -i :8080可以获取在该端口上运行的所有进程的输出,并使用kill命令终止指定进程的运行。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
author-avatar
zoey小
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有