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

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

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

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

通过《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数据库备份和还原的认识和总结,如有遗漏掉的细节或讲解错误,还望高手纠正,多谢!

推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在SQL中查询分组后每组行数的统计方法。通过使用count()函数和GROUP BY子句可以统计每组的行数,但是如何统计所有组的行数呢?本文提供了一种实现方法,并给出了相应的SQL查询语句。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建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。 ... [详细]
author-avatar
虎仔球妈_459
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有