SQL_Server_2005数据库T备份与恢复

上传人:野鹰 文档编号:3175139 上传时间:2017-07-30 格式:PPT 页数:72 大小:2.83MB
返回 下载 相关 举报
SQL_Server_2005数据库T备份与恢复_第1页
第1页 / 共72页
SQL_Server_2005数据库T备份与恢复_第2页
第2页 / 共72页
SQL_Server_2005数据库T备份与恢复_第3页
第3页 / 共72页
SQL_Server_2005数据库T备份与恢复_第4页
第4页 / 共72页
SQL_Server_2005数据库T备份与恢复_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《SQL_Server_2005数据库T备份与恢复》由会员分享,可在线阅读,更多相关《SQL_Server_2005数据库T备份与恢复(72页珍藏版)》请在金锄头文库上搜索。

1、1,SQL Server 2005数据备份与恢复,2,数据库备份概述,“备份”:是数据的副本,用于在系统发生故障后还原和恢复数据。,1、数据库备份并不是简单地将表中的数据复制,而是将数据库中的所有信息,包括表数据、视图、索引、约束条件,甚至是数据库文件的路径、大小、增长方式等信息也备份。2、创建备份的目的是为了可以恢复已损坏的数据库。但是,备份和还原数据需要在特定的环境中进行,并且必须使用一定的资源。因此,可靠地使用备份和还原以实现恢复需要有一个备份和还原策略。,3,数据库备份概述,备份时候,需要考虑以下因素:1、组织对数据库的备份需求,尤其是对必要性的防止数据丢失的要求。2、每个数据库的特性

2、。其大小、使用模式、内容特性及其数据要求等。3、资源的约束。例如,硬件、人员、存储备份媒体空间以及存储媒体的物理安全性等。,4,数据库备份概述,1. 数据库磁盘备份设备简称备份设备: 是由SQL Server 2005提前建立的逻辑存储定义设备。之所以称为是逻辑设备,是由于在建立备份设备时候需要明确指定具体的磁盘存储路径,即便该磁盘存储路径并不存在,也可以正常建立一个备份设备。,实验1:在资源管理器中建立备份设备实验,第一步:在SQL Server管理平台的【对象资源管理器】窗口中展开【服务器对象】的子节点【备份设备】上单击鼠标右键,弹出快捷菜单,如右图所示。,5,数据库备份概述,实验1:在资

3、源管理器中建立备份设备实验,第二步:单击新建备份设备选项,打开【备份设备】对话框。在【设备名称】文件框中输入“db_school_bakdevice”;在不存在磁带机的情况下,【目标】目标选项自动选中【文件】单选项,在【文件】选项对应的文本框中输入文件路径和名称“C:backschool_back.bak”,如下图所示。,6,数据库备份概述,实验2:在资源管理器中删除备份设备实验,在SQL Server管理平台的【对象资源管理器】窗口中展开【服务器对象】的子节点【备份设备】。在节点【db_school_bakdevice】上单击鼠标右键,弹出快捷菜单中删除该设备,如下图所示。,7,3.1数据库

4、备份概述,实验3:通过命令方式建立和删除备份设备实验,1. 建立备份设备我们可以通过执行系统存储过程sp_addumpdevice的形式,建立一个磁盘备份设备,基本语法是: EXEC sp_addumpdevice device_type , logical_name , physical_name,其中各个参数的含义是:device_type:设备类型,disk|tape, “disk”表示磁盘,“tape”表示磁带。logical_name:逻辑磁盘备份设备名。physical_name:物理磁盘备份设备名。-例1:使用T-SQL语句的存储过程sp_addumpdevice命令行创建磁盘备

5、份设备的物理备份设备名为“E:backuptest.bak”,逻辑备份设备名为“test”。exec sp_addumpdevice disk,test,E:backuptest.bak,8,数据库备份概述,实验3:通过命令方式建立和删除备份设备实验,删除备份设备删除一个磁盘备份设备的基本语法是: EXEC sp_dropdevice logical_name , delfile其中各个参数的含义是:logical_name:逻辑磁盘备份设备名。delfile:表示是否同时删除磁盘备份物理设备名。-例2:使用T-SQL语句的存储过程sp_dropdevice命令行删除前面刚创建的磁盘备份设备。

6、exec sp_dropdevice test,delfile,9,数据库备份概述,2.数据库备份方法 数据库备份包括完整备份和差异性备份,这两种备份的区别如下:(1)完整备份: 包含数据库中全部数据和日志文件信息,也被称为是全库备份或者海量备份。对于文件磁盘量较小时候,完全备份的资源消耗并不能显现,但是一旦数据库文件的磁盘量非常大的时候,就会明显的消耗服务器的系统资源。因此对于完全备份一般需要停止数据库服务器的工作,或在用户访问量较少的时间段进行此项操作。,故障发生点 完全数据备份 运行事务 正常运行 Ta Tb 数据丢失 Tf 重装完整备份 恢复 ,10,数据库备份概述,(1)完整备份:

7、通过还原数据库,只用一步即可以从完整的备份重新创建整个数据库。如果还原目标中已经存在数据库,还原操作将会覆盖现有的数据库; 如果该位置不存在数据库,还原操作将会创建数据库。还原的数据库将与备份完成时的数据库状态相符,但不包含任何未提交的事务。 恢复数据库后,将回滚到未提交的事务。,小知识:,事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位事务和程序是两个概念在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序一个应用程序通常包含多个事务事务是恢复和并发控制的基本单位,11,数据库备份概述,(1)完整备份: 当

8、执行全库备份时,SQL Server将备份在备份过程中发生的任何活动,以及把任何未提交的事务备份到事务日志。在恢复备份时候,SQL Server利用备份文件中捕捉到的部分事务日志来确保数据一致性。,12,数据库备份概述,(1)完整备份:,实验1:在资源管理器中进行完全数据备份实验,第一步:打开资源管理器,鼠标右击school数据库,在展开的菜单中选择任务中的备份项。,13,数据库备份概述,(1)完整备份:,实验1:在资源管理器中进行完全数据备份实验,第二步:在展开的备份数据库界面中,选择备份类型为“完整”,备份组件为数据库,在备份目标为备份到磁盘,选择添加磁盘的具体的路径及备份文件名为C:sc

9、hool_fullback.bak,如图所示。点击确定后完成完全数据备份的工作,所生成的C:school_fullback.bak文件将在后面数据库恢复中被重新应用。,14,数据库备份概述,(1)完整备份:,实验2:通过命令行进行完全数据备份实验,第一步:sp_addumpdevice 是系统存储过程,用于创建磁盘备份文件,其基本命令行如下所示:sp_addumpdevice devtype=device_type,logicalname=logical_name, physicalname = physical_name,cntrltype = controller_type|devstat

10、us=device_status ,use master-首先,进入master数据库。Go-下面,在C盘下建立文件夹back,然后分别执行下面的三个磁盘备份文件。exec sp_addumpdevice disk,backup_file1,c:backbackup_file1.bakexec sp_addumpdevice disk,backup_file2,c:backbackup_file2.bakexec sp_addumpdevice disk,backup_log,c:backbackup_log.bak,注意:即便是C盘下面没有back文件夹,该命令也可以成功的执行。但是如果在实

11、际进行磁盘备份中,由于没有该文件夹,将在执行backup database的时候出现错误。,15,数据库备份概述,(1)完整备份:,实验2:通过命令行进行完全数据备份实验,第二步:将school数据库备份到第一步建立的磁盘备份文件中。BACKUP DATABASEdatabase_name|database_name_var ,.f TO ,.n .,INIT|NOINIT在进行数据库备份的时候,INIT和NOINIT选项参数非常重要。使用 NOINIT 选项,SQL Server 把备份追加到现有的备份文件,也就是在原有的数据备份基础上,继续将现有的数据库追加性的继续备份到该磁盘备份文件中。

12、使用 INIT 选项,SQL Server 将重写备份媒体集上所有数据,即将上次备份的文件抹去,重新将现有的数据库文件写入到该磁盘备份文件中。,16,数据库备份概述,(1)完整备份:,实验2:通过命令行进行完全数据备份实验,backup database test to test with noinitbackup database test to test with init-请反复执行这两句话,那么我们可以很快从磁盘文件的空间变化中发现init和no init的区别:,-可见,init由于重新建立磁盘备份,因此文件并没有增长;而由于noinit是追加备份,因此磁盘文件增长非常明显。当然,我

13、们也可以不需要使用磁盘备份文件,而通过直接指定磁盘路径的方式实现对数据库文件进行备份。BACKUP DATABASE school TO DISK=D: Mydiffbackup.bak,17,3.1数据库备份概述,(2)差异备份:,差异性备份: (1)是无需完全数据备份,仅仅将变化的数据存储并追加到数据库备份文件中的过程。 (2)差异性备份仅记录自上次完整备份后更改过的数据,但是比完整备份更小、更快,可以简化频繁的备份操作,减少数据丢失的风险。 (3)差异性备份必须基于完整备份,因此差异性备份的前提是进行至少一次的完全数据备份。,故障发生点 完全数据备份 运行事务 差异备份 正常运行 Ta

14、Tb Tc 数据丢失 Tf 重装完整备份 差异数据还原 恢复 ,18,数据库备份概述,(2)差异备份:,在还原差异性备份之前,必须先还原其完全数据备份。如果按给定备份的要求进行一系列差异性备份,则在还原时只需还原一次完全数据备份和最近的差异性备份即可。执行差异性备份的前提和基本条件如下: 用于经常被修改的数据库; 要求一个完全数据备份,这是执行差异性备份的前提; 备份自上次完全数据备份以来的数据库变化;,执行差异性备份的语法与完全数据备份基本一致,仅仅的区别是在后面写上WITH DIFFERENTIAL参数即可。,19,数据库备份概述,(2)差异备份:,实验1:通过命令行进行差异数据备份实验,

15、BACKUP DATABASE test TO DISK=C:test.bak WITH DIFFERENTIAL -或者 backup database test to test WITH DIFFERENTIAL,20,数据库备份概述,(2)差异备份:,实验2:在管理平台中进行差异数据备份实验,打开备份向导。在“备份数据库”窗口中,选择备份类型为“差异”。在备份的目标中,指定备份到的磁盘文件位置(本例中为C:backschool.bak文件),如图所示。然后单击“确定”按钮。备份完成后,可以找到C:backschool.bak文件。差异备份文件要比完全备份文件小得多,因为它仅备份自上次完整备份后更改过的数据。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号