课件第13章 数据库的备份和恢复.ppt
《课件第13章 数据库的备份和恢复.ppt》由会员分享,可在线阅读,更多相关《课件第13章 数据库的备份和恢复.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、LOGO本章主要内容:本章主要内容:数据库数据的备份与恢复备份前的准备工作和备份特点执行备份操作备份方法和备份策略还原前的准备工作和还原特点执行还原操作13.1 备份与恢复备份与恢复 备份是指数据库管理员定期或不定期备份是指数据库管理员定期或不定期地将数据库的部分或全部内容复制到磁带地将数据库的部分或全部内容复制到磁带或磁盘上进行保存的过程。当遇到介质故或磁盘上进行保存的过程。当遇到介质故障、用户错误障、用户错误(例如,误删了某个表例如,误删了某个表)、硬、硬件故障件故障(例如,磁盘驱动器损坏或服务器报例如,磁盘驱动器损坏或服务器报废废)、自然灾害等造成灾难性数据丢失时,、自然灾害等造成灾难性
2、数据丢失时,可以利用备份进行数据库的恢复。数据库可以利用备份进行数据库的恢复。数据库的备份与恢复是数据库文件管理中最常见的备份与恢复是数据库文件管理中最常见的操作,也是最简单的数据恢复方式。备的操作,也是最简单的数据恢复方式。备份数据库是可靠地保护份数据库是可靠地保护SQL Server数据数据的唯一方法。的唯一方法。 数据库备份可以在线环境中运行,所数据库备份可以在线环境中运行,所以根本不需要数据库离线。使用数据库备以根本不需要数据库离线。使用数据库备份能够将数据恢复到备份时的那一时刻,份能够将数据恢复到备份时的那一时刻,但是对备份以后的更改,在数据库文件和但是对备份以后的更改,在数据库文件
3、和日志损坏的情况下将无法找回,这是数据日志损坏的情况下将无法找回,这是数据库备份的主要缺点。库备份的主要缺点。 SQL Server 2016提供了提供了4种备份种备份类型:完整备份、差异备份、事务日志备类型:完整备份、差异备份、事务日志备份、文件和文件组备份。份、文件和文件组备份。13.1.1 备份类型备份类型1. 完整备份完整备份 完整数据库备份是指备份数据库中的完整数据库备份是指备份数据库中的所有数据,包括事务日志。与差异备份和所有数据,包括事务日志。与差异备份和事务日志备份相比,完整数据库备份占用事务日志备份相比,完整数据库备份占用的存储空间多,备份时间长。所以完整数的存储空间多,备份
4、时间长。所以完整数据库备份的创建频率通常比差异备份或事据库备份的创建频率通常比差异备份或事务日志备份低。完整备份适用于备份容量务日志备份低。完整备份适用于备份容量较小或数据库中数据的修改较少的数据库。较小或数据库中数据的修改较少的数据库。完整备份是差异备份和事务日志备份的基完整备份是差异备份和事务日志备份的基准。准。2. 差异备份差异备份 差异备份是完整备份的补充,只备份差异备份是完整备份的补充,只备份上次完整备份之后更改的数据。相对于完上次完整备份之后更改的数据。相对于完整备份来说,差异备份的数据量比完整数整备份来说,差异备份的数据量比完整数据备份小,备份的速度也比完整备份要快。据备份小,备
5、份的速度也比完整备份要快。因此,差异备份通常作为常用的备份方式。因此,差异备份通常作为常用的备份方式。差异备份适合于修改频繁的数据库。在还差异备份适合于修改频繁的数据库。在还原数据时,要先还原前一次做的完整备份,原数据时,要先还原前一次做的完整备份,然后还原最后一次所做的差异备份,这样然后还原最后一次所做的差异备份,这样才能让数据库中的数据恢复到与最后一次才能让数据库中的数据恢复到与最后一次差异备份时的内容相同。差异备份时的内容相同。3. 事务日志备份事务日志备份 事务日志备份只备份事务日志中的内事务日志备份只备份事务日志中的内容。事务日志记录了上一次完整备份、差容。事务日志记录了上一次完整备
6、份、差异备份或事务日志备份后数据库的所有变异备份或事务日志备份后数据库的所有变动过程。每个事务日志备份都包括创建备动过程。每个事务日志备份都包括创建备份时处于活动状态的部分事务日志,以及份时处于活动状态的部分事务日志,以及先前事务日志备份中未备份的所有日志记先前事务日志备份中未备份的所有日志记录。可以使用事务日志备份将数据库恢复录。可以使用事务日志备份将数据库恢复到特定的即时点。与差异备份类似,事务到特定的即时点。与差异备份类似,事务日志备份生成的文件较小、占用时间较短,日志备份生成的文件较小、占用时间较短,创建频率较频繁。创建频率较频繁。4. 文件和文件组备份文件和文件组备份 如果在创建数据
7、库时,为数据库创建如果在创建数据库时,为数据库创建了多个数据库文件或文件组,可以使用该了多个数据库文件或文件组,可以使用该备份方式。使用文件和文件组备份方式可备份方式。使用文件和文件组备份方式可以只备份数据库中的某些文件,该备份方以只备份数据库中的某些文件,该备份方式在数据库文件非常庞大时十分有效,由式在数据库文件非常庞大时十分有效,由于每次只备份一个或几个文件或文件组,于每次只备份一个或几个文件或文件组,所以可以分多次来备份数据库,这可以避所以可以分多次来备份数据库,这可以避免大型数据库备份的时间过长的问题。另免大型数据库备份的时间过长的问题。另外,由于文件和文件组备份只备份其中一外,由于文
8、件和文件组备份只备份其中一个或多个数据文件,因此当数据库中的某个或多个数据文件,因此当数据库中的某个或某些文件损坏时,只需还原损坏的文个或某些文件损坏时,只需还原损坏的文件或文件组备份即可。件或文件组备份即可。n以下情况应采用完整数据库备份 :q数据库较小q数据库具有很少的数据修改操作或是只读数据库时 n如果采用完整数据库备份,则要定期清除事务日志星期日星期日星期一星期一星期二星期二1.完整备份策略:完整备份策略:n使用差异备份策略的场合:q数据库频繁修改q需要进行最小化备份时n单独备份事务日志星期一星期一星期二星期二2.差异备份策略:差异备份策略:n使用数据库和事务日志备份策略的场合:q修改
9、频繁的数据库 q完整备份耗时太长星期日星期日星期一星期一3.事务备份策略:事务备份策略:n使用文件或文件组备份策略的场合:q超大型数据库 q完整备份时间太长n单独备份事务日志n可能管理比较复杂星期日星期日星期一星期一星期二星期二星期三星期三数据文数据文件件 1数据文数据文件件 2数据文数据文件件34.文件或文件组备份策略:文件或文件组备份策略:举例:举例:创建一个名为创建一个名为 AdventureWorksBack 的命名备份设备,的命名备份设备, 并并执行完整的数据库备份。执行完整的数据库备份。-创建一个名为创建一个名为 AdventureWorksBack 的命名备份设备的命名备份设备-
10、设备存储在设备存储在D:MyBachupDir 目录下目录下-执行一个完整的数据库备份以备份到执行一个完整的数据库备份以备份到AdventureWorksBack文件中文件中程序清单如下:程序清单如下:USE AdventureWorksEXEC sp_addumpdevice disk, AdventureWorksBack, D: MyBachupDir AdventureWorksBack.bak BACKUP DATABASE AdventureWorks TO AdventureWorksBack1、BACKUP DATABASE AdventureWorks TO Adventur
11、eWorksBack WITH INIT注意以下语句的不同之处:注意以下语句的不同之处:2、BACKUP DATABASE AdventureWorks TO AdventureWorksBack WITH NOINIT3、BACKUP DATABASE AdventureWorks TO DISK = D: MyBachupDir AdventureWorksBack.bak举例:举例:为日志创建一个备份设备,并备份为日志创建一个备份设备,并备份 AdventureWorks 数据库的事数据库的事务日志。务日志。-创建一个名为创建一个名为 AWBackLog的备份设备的备份设备,设备存储在设
12、备存储在D:Bachup 目录下目录下-备份备份 AdventureWorks 数据库的事务日志到备份设备数据库的事务日志到备份设备程序清单如下:程序清单如下:USE AdventureWorksEXEC sp_addumpdevice disk, AWBackLog, D: Bachup AWBackLog.bak BACKUP LOG AdventureWorks TO AWBackLog举例:举例:在临时的备份文件上创建增量在临时的备份文件上创建增量 (差异)备份。(差异)备份。- 在临时的备份磁盘文件上创建名为在临时的备份磁盘文件上创建名为MyDiffBackup的差异备份(的差异备份
13、( D: MyData )程序清单如下:程序清单如下:BACKUP DATABASE AdventureWorks TO DISK= D: MyData MyDiffBackup.bakWITH DIFFERENTIAL举例:举例:用以下代码备份了数据库中某个文件组的用以下代码备份了数据库中某个文件组的Orders2文件。文件。PhoneOrders数据库包含三个文件:数据库包含三个文件: Orders1 、 Orders2和和Orders3 。事务日志存储在事务日志存储在Orderlog文件中。已存在以下备份文件文件中。已存在以下备份文件OrderBackup1、 OrderBackup2、
14、 OrderBackup3、 OrderBackupLog。-备份数据库中某个文件组的备份数据库中某个文件组的 Orders2 文件以及数据库的日志文件。文件以及数据库的日志文件。程序清单如下:程序清单如下:BACKUP DATABASE PhoneOrders FILE= Orders2 TO OrderBackup2BACKUP LOG PhoneOrders TO OrderBackupLog13.1.2 恢复模式恢复模式 SQL Server 2016数据库恢复模式分数据库恢复模式分为为3种:完整恢复模式、大容量日志恢复模式种:完整恢复模式、大容量日志恢复模式和简单恢复模式。和简单恢复
15、模式。1. 简单恢复模式简单恢复模式 对于简单恢复模式,数据库会自动把不活对于简单恢复模式,数据库会自动把不活动的日志删除,因此减少了事务日志的管理开动的日志删除,因此减少了事务日志的管理开销,在此模式下不能进行事务日志备份,因此,销,在此模式下不能进行事务日志备份,因此,使用简单恢复模式只能将数据库恢复到最后一使用简单恢复模式只能将数据库恢复到最后一次备份时的状态,不能恢复到故障点或特定的次备份时的状态,不能恢复到故障点或特定的即时点。通常,此模式只用于对数据库数据安即时点。通常,此模式只用于对数据库数据安全要求不太高的数据库,并且在该模式下,数全要求不太高的数据库,并且在该模式下,数据库只
16、能做完整和差异备份。据库只能做完整和差异备份。2. 完整恢复模式完整恢复模式 完整恢复模式是默认的恢复模式。完整恢复模式是默认的恢复模式。 它会完它会完整地记录操作数据库的每一个步骤。使用完整整地记录操作数据库的每一个步骤。使用完整恢复模式可以将整个数据库恢复到一个特定的恢复模式可以将整个数据库恢复到一个特定的时间点,这个时间点可以是最近一次可用的备时间点,这个时间点可以是最近一次可用的备份、一个特定的日期和时间或者是标记的事务。份、一个特定的日期和时间或者是标记的事务。3. 大容量日志恢复模式大容量日志恢复模式 简单地说就是要对大容量操作简单地说就是要对大容量操作(如导入数据、如导入数据、批
17、量更新、批量更新、SELECT INTO等操作等操作) 进行最小进行最小日志记录,以节省日志文件的空间。日志记录,以节省日志文件的空间。 13.1.3 设置恢复模式设置恢复模式 操作步骤如下:操作步骤如下: 打开打开SQL Server Management Studio图形化管理界面,右击将要备份的数图形化管理界面,右击将要备份的数据库,从弹出的快捷菜单中选择据库,从弹出的快捷菜单中选择“属性属性”命令,命令,打开打开“数据库属性数据库属性”对话框。在选择页中选择对话框。在选择页中选择“选项选项”,在,在“恢复模式恢复模式”中选择所需的设置,如中选择所需的设置,如图图13-1所示。所示。图1
18、3-1 “数据库属性”对话框13.2 备份设备备份设备 备份设备是指备份或还原数据时的存备份设备是指备份或还原数据时的存储介质。通常是指磁带机或磁盘驱动器或储介质。通常是指磁带机或磁盘驱动器或逻辑备份设备。逻辑备份设备。 磁盘备份设备是指硬盘或其他磁盘存磁盘备份设备是指硬盘或其他磁盘存储介质上的文件,与常规操作系统文件一储介质上的文件,与常规操作系统文件一样。引用磁盘备份设备与引用任何其他操样。引用磁盘备份设备与引用任何其他操作系统文件一样。可以在服务器的本地磁作系统文件一样。可以在服务器的本地磁盘上或共享网络资源的远程磁盘上定义磁盘上或共享网络资源的远程磁盘上定义磁盘备份设备。备份磁盘设备的
19、最大大小由盘备份设备。备份磁盘设备的最大大小由磁盘设备上的可用空间决定。磁盘设备上的可用空间决定。SQL Server数据库引擎使用物理设备名数据库引擎使用物理设备名称或逻辑设备名称来标识备份设备:物理称或逻辑设备名称来标识备份设备:物理备份设备主要提供操作系统对备份设备的备份设备主要提供操作系统对备份设备的引用与管理,如引用与管理,如E:BackupstestFull.bak;逻辑备;逻辑备份设备是物理备份设备的别名。逻辑设备份设备是物理备份设备的别名。逻辑设备名称永久性地存储在名称永久性地存储在SQL Server内的系内的系统表中。统表中。 使用逻辑备份设备的优点是引用时比使用逻辑备份设
20、备的优点是引用时比引用物理设备名称更简单;当改变备份位引用物理设备名称更简单;当改变备份位置时,不需要修改备份脚本语句,只需要置时,不需要修改备份脚本语句,只需要修改逻辑备份设备的定义即可。修改逻辑备份设备的定义即可。13.2.1 创建备份设备创建备份设备1. 使用使用SQL Server图形化管理界面创建备份图形化管理界面创建备份设备设备具体操作步骤如下:具体操作步骤如下:(1) 在在SQL Server管理平台中,选择需要创管理平台中,选择需要创建备份设备的服务器,展开建备份设备的服务器,展开“服务器对象服务器对象”节点,节点,在在“备份设备备份设备”图标上右击,从弹出的快捷菜单图标上右击
21、,从弹出的快捷菜单中选择中选择“新建备份设备新建备份设备”命令,如图命令,如图13-2所示。所示。(2) 打开打开“备份设备备份设备”对话框,如图对话框,如图13-3所示。所示。在在“设备名称设备名称”文本框中输入备份设备的逻辑名文本框中输入备份设备的逻辑名称。单击称。单击“确定确定”按钮即可创建备份设备。按钮即可创建备份设备。图13-2 使用SQL Server管理平台创建备份设备 图13-3 “备份设备”对话框13.2.2 删除备份设备删除备份设备 如果不再需要使用备份设备,可以将其删如果不再需要使用备份设备,可以将其删除。删除备份设备之后,设备上的数据将全部除。删除备份设备之后,设备上的
22、数据将全部丢失。删除备份设备有两种方式:一种是使用丢失。删除备份设备有两种方式:一种是使用SQL Server Management Studio图形图形化工具,另一种是使用系统存储过程化工具,另一种是使用系统存储过程sp_dropdevice。1. 使用使用SQL Server Management Studio图形化工具删除备份设备图形化工具删除备份设备操作步骤如下:操作步骤如下:(1) 在在“对象资源管理器对象资源管理器”中,单击服务器名称,中,单击服务器名称,展开服务器树。展开服务器树。(2) 展开展开“服务器对象服务器对象”|“备份设备备份设备”节点,右节点,右击要删除的备份设备,从
23、弹出的快捷菜单中选击要删除的备份设备,从弹出的快捷菜单中选择择“删除删除”命令,打开命令,打开“删除对象删除对象”窗口。窗口。(3) 在在“删除对象删除对象”窗口中单击窗口中单击“确定确定”按钮即可按钮即可完成。完成。2. 使用存储过程使用存储过程sp_dropdevice删除备份删除备份设备设备其语法格式如下:其语法格式如下:sp_dropdevicelogical_name, sp_dropdevicelogical_name, delfiledelfile其中,其中,logical_name表示设备的逻辑名称;表示设备的逻辑名称;delfile用于指定是否删除物理备份文件。如用于指定是否
24、删除物理备份文件。如果指定了果指定了delfile,则删除物理备份文件。,则删除物理备份文件。【例【例13-2】使用存储过程】使用存储过程sp_dropdevice删除名称为删除名称为jxgldisk的备份设备,同时删除物的备份设备,同时删除物理文件。理文件。Transact-SQL代码如下:代码如下:exec sp_dropdevice jxgldisk,delfileexec sp_dropdevice jxgldisk,delfile13.3 备份数据库备份数据库13.3.1 完整备份完整备份1. 使用使用Management Studio图形化工图形化工具执行备份操作具执行备份操作 (
25、1) 在在“对象资源管理器对象资源管理器”窗口中,展开窗口中,展开服务器名称,找到服务器名称,找到“数据库数据库”节点并单击展开,节点并单击展开,然后选中要备份的数据库。然后选中要备份的数据库。 (2) 右击选中的数据库,从弹出的快捷右击选中的数据库,从弹出的快捷菜单中选择菜单中选择“任务任务”|“备份备份”命令,如图命令,如图13-4所示,将弹出所示,将弹出“备份数据库备份数据库”对话框,如图对话框,如图13-5所示。所示。 (3) 在在“备份类型备份类型”下拉列表框中,选择下拉列表框中,选择“完整完整”选项。创建完整数据库备份之后,就选项。创建完整数据库备份之后,就可以创建差异数据库备份。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课件第13章 数据库的备份和恢复 课件 13 数据库 备份 恢复
限制150内