数据库第14章-数据库的备份还原与导入导出课件.ppt

上传人(卖家):三亚风情 文档编号:3426923 上传时间:2022-08-30 格式:PPT 页数:39 大小:2.79MB
下载 相关 举报
数据库第14章-数据库的备份还原与导入导出课件.ppt_第1页
第1页 / 共39页
数据库第14章-数据库的备份还原与导入导出课件.ppt_第2页
第2页 / 共39页
数据库第14章-数据库的备份还原与导入导出课件.ppt_第3页
第3页 / 共39页
数据库第14章-数据库的备份还原与导入导出课件.ppt_第4页
第4页 / 共39页
数据库第14章-数据库的备份还原与导入导出课件.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、第第14章章 数据库数据库的备份还原的备份还原与导入导出与导入导出近年来,随着计算机技术的不断发展,硬件和软件系统的可靠性都有了很大的改善。但即使是最可靠的软件和硬件,也可能会出现系统故障和产品故障的问题。一旦出现故障,将会对数据库造成不利影响,影响数据的正确性和完整性。因此,SQL Server 2012提供了完善的数据库备份和还原功能。用户可以将SQL Server 2012数据库中的数据导出到其他数据库系统中,也可以将其他数据库系统中的数据导入到SQL Server 2012中。在第5章,在介绍数据库的分离、附加和移动时,其实就已经涉及到数据库的备份还原的概念和操作。本章主要介绍如何使用

2、SQL Server 2012进行备份还原和数据导入/导出操作。14.1 数据库的备份还原数据库的备份还原尽管在SQL Server 2012中采取了许多措施来保证数据库的安全性和完整性,但故障仍不可避免。同时,还存在其他一些可能造成数据丢失的因素,例如用户的操作失误、蓄意破坏、病毒攻击和自然界不可抗力等。因此,SQL Server 2012指定了一个良好的备份还原策略,定期将数据库进行备份以保护数据库,以便在事故发生后还原数据库。14.1.1 备份还原概述备份还原概述SQL Server 2012的备份和还原组件提供了重要的保护手段,以保护存储在SQL Server 2012数据库中的关键数

3、据。实施计划妥善的备份和还原策略可保护数据库,避免由于各种故障造成的损坏而丢失数据。为了最大限度地降低灾难性数据丢失的风险,用户需要定期备份数据库以保留对数据所做的修改。规划良好的备份和还原策略有助于防止数据库因各种故障而造成数据丢失。备份是数据的副本,用于在系统发生故障后还原和恢复数据。备份使用户能够在发生故障后还原数据。通过适当的备份,可以从多种故障中恢复,包括:系统故障。用户错误(例如,误删除了某个表、某些数据)。硬件故障(例如,磁盘驱动器损坏)。自然灾难。设计有效的备份和还原策略需要仔细计划、实现和测试。需要考虑以下因素:1)组织对数据库的生产目标,尤其是对可用性和防止数据丢失的要求。

4、2)每个数据库的特性。其大小、使用模式、内容特性及其数据要求等。3)对资源的约束。例如,硬件、人员、存储备份媒体的空间以及存储媒体的物理安全性等。14.1.2 恢复模式恢复模式备份和还原操作是在“恢复模式”下进行的。恢复模式是一个数据库属性,它用于控制数据库备份和还原操作的基本行为。例如,恢复模式控制了将事务记录在日志中的方式、事务日志是否需要备份以及可用的还原操作。1恢复模式的优点恢复模式的优点使用恢复模式具有下列优点:1)简化了恢复计划。2)简化了备份和恢复过程。3)明确了系统操作要求之间的权衡。4)明确了可用性和恢复要求之间的权衡。14.1.2 恢复模式恢复模式2恢复模式的分类恢复模式的

5、分类在SQL Server 2012数据库管理系统中,可以选择的3种恢复模式包括:简单恢复模式、完整恢复模式和大容量日志恢复模式。(1)简单恢复模式此模式简略地记录大多数事务,所记录的信息只是为了确保在系统崩溃或还原数据备份之后数据库的一致性。由于旧的事务已提交,已不再需要其日志,因而日志将被截断。截断日志将删除备份和还原事务日志。但是,这种简化将导致在灾难事件中丢失数据的可能。没有日志备份,数据库只可恢复到最近的数据备份时间。此外,该模式不支持还原单个数据页。简单恢复模式并不适合重要的企业级数据库系统,因为对企业级数据库而言,丢失最新的更改是无法接受的。在这种情况下,建议使用完整恢复模式。(

6、2)完整恢复模式此模式完整地记录了所有的事务,并保留所有的事务日志记录,直到将它们备份。完整恢复模式能使数据库恢复到故障时间点(假定在故障发生之后备份了日志尾部)。(3)大容量日志恢复模式此模式简略地记录大多数大容量操作(例如,索引创建和大容量加载),完整地记录其他事务。大容量日志恢复模式提高了大容量操作的性能,常用作完整恢复模式的补充。14.1.2 恢复模式恢复模式在“对象资源管理器”子窗口中,选择COLLEGE数据库,打开“数据库属性”对话框,在“选择页”窗格中选择“选项”。在“恢复模式”列表框中,可以选择不同的模式来更改恢复模式,如图所示。14.1.2 恢复模式恢复模式3恢复模式的选择恢

7、复模式的选择为了给数据库选择最佳策略,需要考虑多个方面,包括数据库特征、数据库的恢复目标和要求。无论数据库大小或文件组结构如何,都可以选择简单或完整(大容量日志)恢复模式。最佳选择模式取决于用户的恢复目标和要求。(1)简单恢复模式如果系统符合下列所有的要求,则使用简单恢复模式:1)丢失日志中的一些数据无关紧要。2)无论何时还原主文件组,用户都希望始终还原读写辅助文件组。3)是否备份事务日志无所谓,只需要完整差异备份。4)不在乎无法恢复到故障点以及丢失从上次备份到发生故障时之间的任何更新。(2)完整恢复模式如果系统符合下列任何要求,则使用完整恢复模式:1)用户必须能够恢复所有的数据。2)数据库包

8、含多个文件组,并且希望逐段还原读写辅助文件组以及只读文件组。3)必须能够恢复到故障点。14.1.3 数据库备份数据库备份数据库备份包括完整备份和完整差异备份。数据库备份易于使用,并且适用于所有数据库,与恢复模式无关。完整备份包含数据库中的所有数据,完整差异备份仅记录自前一完整备份后发生更改的数据扩展盘区数。1完整备份完整备份完整备份(以前称为数据库备份)将备份整个数据库,包括事务日志部分(以便可以恢复整个备份)。完整备份代表备份完成时的数据库。通过包括在完整备份中的事务日志,可以使用备份恢复到备份完成时的数据库。创建完整备份是单一操作,通常会安排该操作定期发生。2完整差异备份完整差异备份完整差

9、异备份仅记录自上次完整备份后更改过的数据。完整差异备份比完整备份更小、更快,可以简化频繁的备份操作,减少数据丢失的风险。完整差异备份基于完整备份,因此,这样的完整备份称为“基准备份”。差异备份仅记录自基准备份后更改过的数据。完整差异备份比完整备份更小、更快,可以简化频繁的备份操作,减少数据丢失的风险。在还原差异备份之前,必须先还原其基准备份。如果按给定基准进行一系列完整差异备份,则在还原时只需还原基准和最近的差异备份。14.1.3 数据库备份数据库备份3使用使用SQL Server Management Studio进行完整备份进行完整备份在SQL Server Management Stud

10、io中,用户可以通过向导在图形界面环境下备份数据库。下面以备份COLLEGE数据库为例,说明在SQL Server Management Studio中使用向导备份数据库的过程。进行完整备份的步骤如下:1)单击“对象资源管理器”子窗口中的COLLEGE数据库对象,选择右键菜单“任务”选项的“备份”子选项,如图所示。14.1.3 数据库备份数据库备份2)打开“备份数据库”窗口,如图所示。选择备份类型为“完整”。在备份的目标中,指定备份到的磁盘文件位置,用户也可以自行选择备份数据库或数据文件,以及备份集的有效期等。3)备份操作完成后,弹出对话框表示备份成功完成,如图所示。这时,在备份的文件位置可以

11、找到备份文件。通常数据库备份文件名都以“.bak”为后缀。14.1.3 数据库备份数据库备份4使用使用SQL Server Management Studio进行完整差异备份进行完整差异备份在SQL Server Management Studio中,进行完整差异备份的步骤如下:1)由于完整差异备份仅记录自上次完整备份后更改过的数据。因此,首先对数据库中的数据进行修改。例如在数据库的Student表中增加一个新的学生记录。2)打开“备份数据库”对话框。选择备份类型为“差异”。在备份的目标中,指定备份到的磁盘文件位置,如图所示。14.1.3 数据库备份数据库备份5使用使用BACKUP DATAB

12、ASE命令进行备份命令进行备份T-SQL提供了BACKUP DATABASE语句对数据库进行备份。其语法格式为:BACKUP DATABASE database_name|database_name_var TO ,.n MIRROR TO ,.n .next-mirror WITH BLOCKSIZE=blocksize|blocksize_variable ,CHECKSUM|NO_CHECKSUM ,STOP_ON_ERROR|CONTINUE_AFTER_ERROR ,DESCRIPTION=text|text_variable ,DIFFERENTIAL ,EXPIREDATE=da

13、te|date_var 14.1.3 数据库备份数据库备份【例11-1】将整个PUBLISH数据库完整备份到磁盘上,并创建一个新的媒体集。USE PUBLISHGOBACKUP DATABASE PUBLISHTO DISK=C:pub.Bak WITH FORMAT,NAME=图书出版数据库的完整备份GO执行结果如图所示。在相应的路径下,可以看到备份文件。如图所示。14.1.3 数据库备份数据库备份【例11-2】创建PUBLISH数据库的完整差异备份。USE PUBLISHGOBACKUP DATABASE PUBLISHTO DISK=C:pub1.bak WITH DIFFERENTIA

14、LGO执行结果如图所示。在相应的路径下,可以看到差异备份文件。如图所示。比较两个文件,差异备份文件比完整备份文件小的多,原因是差异备份只备份与上次备份后发生变化的数据内容。14.1.4 数据库还原数据库还原还原方案从一个或多个备份中还原数据,并在还原最后一个备份后恢复数据库。支持的还原方案取决于恢复模式。通过还原方案,可以在下列级别之一还原数据:数据库和数据文件。每个级别的影响如下:1)数据库级别。还原和恢复整个数据库,并且数据库在还原和恢复操作期间处于离线状态。2)数据文件级别。还原和恢复一个数据文件或一组文件。在文件还原过程中,包含相应文件的文件组在还原过程中自动变为离线状态。访问离线文件

15、组的任何尝试都会导致错误。3)数据页级别。可以对任何数据库进行页面还原,而不管文件组数为多少。14.1.4 数据库还原数据库还原简单恢复模式支持的基本还原方案如表11-1所示。表11-1 简单恢复模式支持的还原方案方方 案案说说 明明数 据 库 完数 据 库 完整还原整还原这是基本的还原策略。这是基本的还原策略。在简单恢复模式下,数据库完整还原可能涉及简单还原在简单恢复模式下,数据库完整还原可能涉及简单还原和恢复完整备份。另外,数据库完整还原也可能涉及还原完整备份并接着还原和和恢复完整备份。另外,数据库完整还原也可能涉及还原完整备份并接着还原和恢复差异备份恢复差异备份文件还原文件还原还原损坏的

16、只读文件,但不还原整个数据库。仅在数据库至少有一个只读文件组还原损坏的只读文件,但不还原整个数据库。仅在数据库至少有一个只读文件组时才可以进行文件还原时才可以进行文件还原段落还原段落还原按文件组级别并从主文件组和所有读写辅助文件组开始,分阶段还原和恢复数按文件组级别并从主文件组和所有读写辅助文件组开始,分阶段还原和恢复数据库据库仅恢复仅恢复适用于从备份复制的数据已经与数据库一致而只需使其可用的情况适用于从备份复制的数据已经与数据库一致而只需使其可用的情况14.1.4 数据库还原数据库还原完整日志恢复模式和大容量日志恢复模式支持的基本还原方案如表11-2所示。表11-2 完整日志恢复模式和大容量

17、日志恢复模式支持的还原方案方方 案案说说 明明数据库完整还数据库完整还原原这是基本的还原策略。在完整这是基本的还原策略。在完整/大容量日志恢复模式下,数据库完整还原涉及还原完大容量日志恢复模式下,数据库完整还原涉及还原完整备份和(可选)差异备份(如果存在),然后还原所有后续日志备份(按顺序)。通整备份和(可选)差异备份(如果存在),然后还原所有后续日志备份(按顺序)。通过恢复并还原上一次日志备份完成数据库完整还原过恢复并还原上一次日志备份完成数据库完整还原文件还原文件还原还原一个或多个文件,而不还原整个数据库。可以在数据库处于离线状态或数据库保还原一个或多个文件,而不还原整个数据库。可以在数据

18、库处于离线状态或数据库保持在线状态(对于某些版本)时执行文件还原。在文件还原过程中,包含正在还原的文持在线状态(对于某些版本)时执行文件还原。在文件还原过程中,包含正在还原的文件的文件组一直处于离线状态。必须具有完整的日志备份链(包含当前日志文件),并件的文件组一直处于离线状态。必须具有完整的日志备份链(包含当前日志文件),并且必须应用所有这些日志备份以使文件与当前日志文件保持一致且必须应用所有这些日志备份以使文件与当前日志文件保持一致页面还原页面还原还原损坏的页面。可以在数据库处于离线状态或数据库保持在线状态(对于某些版本)还原损坏的页面。可以在数据库处于离线状态或数据库保持在线状态(对于某

19、些版本)时执行页面还原。在页面还原过程中,包含正在还原的页面的文件一直处于离线状态。时执行页面还原。在页面还原过程中,包含正在还原的页面的文件一直处于离线状态。必须具有完整的日志备份链(包含当前日志文件),并且必须应用所有这些日志备份以必须具有完整的日志备份链(包含当前日志文件),并且必须应用所有这些日志备份以使页面与当前日志文件保持一致使页面与当前日志文件保持一致段落还原段落还原按文件组级别并从主文件组开始,分阶段还原和恢复数据库按文件组级别并从主文件组开始,分阶段还原和恢复数据库14.1.4 数据库还原数据库还原1还原完整备份示例还原完整备份示例这里以还原PUBLISH数据库为例,介绍还原

20、完整备份的方法,具体步骤如下:1)单击“对象资源管理器”子窗口中的PUBLISH数据库,选择右键菜单“任务”选项的“还原”子选项的“数据库”子选项,如图所示。2)在“还原数据库”对话框中,在“常规”页中,选择还原的数据库或设备,选择用于还原的备份集为在备份操作中备份的完整数据集等,如图所示。14.1.4 数据库还原数据库还原3)在“文件”页中,可以选择文件还原位置等,如图所示。4)在“选项”页中,可以选择“覆盖现有数据库”复选框等,如图所示。5)最后还原操作成功,如图所示。14.1.4 数据库还原数据库还原2还原完整差异备份示例还原完整差异备份示例还原完整差异备份的操作步骤和还原完整备份相似。

21、只是在选择用于还原的备份集时选择备份操作中备份的差异数据集。选中差异数据集后,完整数据集会自动被选中,因为在还原差异备份之前,必须先还原其基准备份。14.1.4 数据库还原数据库还原3使用使用Restore命令进行还原命令进行还原T-SQL提供了RESTORE命令对备份数据库进行恢复。其语法格式为:RESTORE DATABASE database_name|database_name_var FROM ,.n WITH CHECKSUM|NO_CHECKSUM ,CONTINUE_AFTER_ERROR|STOP_ON_ERROR ,FILE=file_number|file_number

22、,KEEP_REPLICATION ,MEDIANAME=media_name|media_name_variable ,MEDIAPASSWORD=mediapassword|mediapassword_variable ,MOVE logical_file_name TO operating_system_file_name ,.n ,PASSWORD=password|password_variable ,RECOVERY|NORECOVERY|STANDBY=standby_file_name|standby_file_name_var 14.1.4 数据库还原数据库还原【例11-3】

23、先将COLLEGE数据库完整备份,再进行完整还原。RESTORE DATABASE COLLEGEFROM DISK=C:COLLEGE.Bak【例11-4】先将COLLEGE数据库差异备份,再进行完整差异备份还原。BACKUP DATABASE COLLEGEFROM DISK=C:COLLEGE1.BakRECOVERY由于备份时将数据库的所有信息都备份,所以对备份数据库还原时,一定要符合还原条件,特别是还原时一定要将数据库文件还原到备份时的路径下。这里的文件路径是指文件在Windows操作系统中的绝对路径,即完整的路径名。14.2 数据库的导入数据库的导入/导出导出通过导入和导出操作可以

24、在SQL Server 2012和其他异类数据源(例如Excel或Oracle数据库)之间轻松移动数据。例如,可以将数据从Excel应用程序导出到数据文件,然后将数据大容量导入到SQL Server表。“导出”是指将数据从SQL Server表复制到数据文件。“导入”是指将数据从数据文件加载到SQL Server表。SQL Server 2012数据库的导入导出可以通过图形界面工具SQL Server Management Studio等操作,也可以使用命令行方式,例如bcp实用工具等。限于本书篇幅有限,这里只介绍SQL Server Management Studio操作。14.2.1 数据

25、库表数据导出数据库表数据导出在SQL Server 2012中,可以在SQL Server Management Studio中将数据库表数据导出。这里以导出COLLEGE数据库数据到“F:”盘下“college.xlsx”EXCEL文件的为例,介绍数据库的导出方法,具体步骤如下:1)单击COLLEGE数据库对象,选择右键菜单“任务”选项的“导出数据”子选项,如图所示。14.2.1 数据库表数据导出数据库表数据导出2)进入“SQL Server导入和导出向导”对话窗口,如图所示。3)首先是“选择数据源”窗口。现在是导出数据,所以需要选择数据源、服务器名称、数据库等,如图所示。14.2.1 数据

26、库表数据导出数据库表数据导出4)然后是“选择目标”窗口。现在是导出数据,所以需要目标、服务器名称、身份验证、数据库等。首先选择目标为“Microsoft Excel”类型,然后选择“Excel文件路径”,选择为F盘的“college.xlsx”文件,最后选择Excel版本。如图所示。14.2.1 数据库表数据导出数据库表数据导出5)接下来是“指定表复制或查询”窗口,如图所示。如果选择“复制一个或多个表或视图的数据”选项,会进入“选择源表和源视图”窗口。用户可以选择要导出数据的表,如图所示。14.2.1 数据库表数据导出数据库表数据导出6)选择完表后,下一个窗口是“保存并运行包”窗口,如图所示。

27、7)然后是“完成该向导”窗口,如图所示。14.2.1 数据库表数据导出数据库表数据导出8)最后是“执行成功”窗口,如图所示。9)打开college.xlsx文件,可以看到从COLLEGE数据库中导出的4个表,包括表头(属性列)和表记录。如图所示。14.2.1 数据库表数据导出数据库表数据导出10)数据库数据还可以导出到文本文件、Access数据库文件等,只不过在“选择目标”时,选择事先指定的文件类型即可。如图所示。11)如果想要导出一些其他的数据,例如将查询结果导出到文本文件,在“指定表复制或查询”窗口选择“编写查询以指定要传输的数据”选项即可。如图所示。14.2.1 数据库表数据导出数据库表

28、数据导出12)然后在“提供源查询”窗口的“SQL语句”中,输入T-SQL查询语句。如图所示。13)紧接着在“配置平面文件目标”窗口中,指定导出数据的分隔符等。如图所示。14.2.1 数据库表数据导出数据库表数据导出14)最后是“保存并运行包”、“完成该向导”和“执行成功”窗口。15)打开college.txt文件,可以看到从COLLEGE数据库中导出的查询结果,如图所示。最后再提醒一下,导出数据时,接收数据的文件必须事先存在,SQL Server 2012不能在导出数据的同时生成新文件。14.2.2 数据库表数据导入数据库表数据导入在SQL Server 2012中,也可以在SQL Serve

29、r Management Studio中将数据导入到数据库表中。为了演示数据的导入操作,将导出到Excel表中的数据导入到PUBLISH数据库中。1)单击PUBLISH数据库,选择右键菜单“任务”选项的“导入数据”子选项,如图所示。2)进入“SQL Server导入和导出向导”窗口,如图所示。14.2.2 数据库表数据导入数据库表数据导入3)首先是“选择数据源”窗口。现在是导入数据,所以需要选择数据源、服务器名称、数据库等,如图所示。4)然后是“选择目标”窗口。现在是导入数据,所以需要目标、服务器名称、身份验证、数据库等。主要选择“数据库”为“COLLEGE”,其他选项通常按照默认值操作。如图

30、所示。14.2.2 数据库表数据导入数据库表数据导入5)接下来是“指定表复制或查询”窗口,如图所示。选择“复制一个或多个表或视图的数据”选项,进入“选择源表和源视图”窗口。用户可以选择要导入数据的表,如图所示。14.2.2 数据库表数据导入数据库表数据导入6)选择完源表后,下一个窗口是“保存并运行包”窗口,如图所示。7)然后是“完成该向导”窗口,如图所示。14.2.2 数据库表数据导入数据库表数据导入8)最后是“执行成功”窗口,如图所示。9)展开PUBLISH数据库的表对象,里面新生成了4个表。打开表,表中的数据和导出的表数据相同。如图所示。14.2.2 数据库表数据导入数据库表数据导入在有些数据库的导入/导出操作时,有可能出现将其他异类数据源数据导入到SQL Server 2012中出现数据不兼容的情况。例如,在Access数据库中,有超链接数据类型,而SQL Server 2012中没有。此时,SQL Server 2012数据库管理系统会自动进行数据转换,自动将不识别的数据类型进行转换,转换为在SQL Server 2012中比较相近的数据类型。如果数据取值不能识别,则赋以空值NULL。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数据库第14章-数据库的备份还原与导入导出课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|