03-备份和恢复数据库(sql-server)

上传人:小** 文档编号:54735013 上传时间:2018-09-18 格式:PPT 页数:57 大小:549KB
返回 下载 相关 举报
03-备份和恢复数据库(sql-server)_第1页
第1页 / 共57页
03-备份和恢复数据库(sql-server)_第2页
第2页 / 共57页
03-备份和恢复数据库(sql-server)_第3页
第3页 / 共57页
03-备份和恢复数据库(sql-server)_第4页
第4页 / 共57页
03-备份和恢复数据库(sql-server)_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《03-备份和恢复数据库(sql-server)》由会员分享,可在线阅读,更多相关《03-备份和恢复数据库(sql-server)(57页珍藏版)》请在金锄头文库上搜索。

1、备份和恢复数据库,杨之江,内容,1 备份数据库 2 恢复数据库 3 数据库维护 Q&A,1 备份数据库,1.1为什么要进行数据备份? 1.2恢复模式 1.3备份内容及备份时间 1.4SQL Server的备份设备 1.5SQL Server的备份类型 1.6备份策略 1.7实现备份,1.1为什么要进行数据备份,防止数据丢失(不准确的更新、病毒、物理损害、自然灾害),一旦出现问题,能够根据备份进行恢复 是数据转移的一种方式。(将数据库从一台服务器复制到另一台服务器、设置数据库镜像、文件归档和灾难恢复),1.2 恢复模式,恢复模式是一个数据库属性,它用于控制数据库备份和还原操作的基本行为。例如,恢

2、复模式控制了将事务记录在日志中的方式、事务日志是否需要备份以及可用的还原操作。 简化了恢复计划; 简化了备份和恢复过程; 明确了系统操作要求之间的权衡; 明确了可用性和恢复要求之间的权衡,恢复模式的分类,简单恢复模式此模式简略地记录大多数事务,所记录的信息只是为了确保在系统崩溃或还原数据备份之后数据库的一致性。 完整恢复模式此模式完整地记录了所有的事务,并保留所有的事务日志记录,直到将它们备份 大容量日志恢复模式此模式简略地记录大多数大容量操作(例如索引创建和大容量加载),完整地记录其他事务。大容量日志恢复模式提高了大容量操作的性能,常用作完整恢复模式的补充。,1.3备份内容及备份时间,备份内

3、容 用户数据库 系统数据库 备份时间 系统数据库:修改之后进行备份 用户数据库:周期性备份,1.4 SQL Server的备份设备,SQL Server将备份数据库的场所称为备份设备 支持将数据库备份到磁带或磁盘上。 备份设备类型: 永久备份设备:在备份之前需要先建立 临时备份设备:不需要预先建立,在备份时将数据库直接备份到物理文件上。 物理备份设备是操作系统用来标识备份设备的名称,如:BackupsFull.bak 逻辑备份设备是用户定义的别名,用来标识物理备份设备。逻辑设备名称永久性地存储在SQL Server内的系统表中。,创建备份设备,使用SQL Server管理平台 使用系统存储过程

4、,使用系统存储过程创建备份设备,sp_addumpdevice devtype = device_type , logicalname = logical_name , physicalname = physical_name 其中,device_type表示设备类型,其值可为disk和tape。logical_name表示设备的逻辑名称。physical_name表示设备的实际名称。,创建备份设备示例,例:创建一个名为 MYDISKDUMP 的磁盘备份设备,其物理名称为 D:Dump1.bak。EXEC sp_addumpdevice disk, mydiskdump, D:dump1.ba

5、k,1.5 SQL Server的备份类型,完整备份 完整差异备份 部分备份 部分差异备份 文件和文件组备份 文件差异备份 日志备份,完整备份,完整备份将备份整个数据库,包括事务日志部分(以便可以恢复整个备份)。完整备份代表备份完成时的数据库。 恢复的基线 备份数据文件、数据库对象和数据的信息 备份备份过程中发生的活动 备份未提交的事务到日志,完整差异备份,备份从上次完全备份之后数据的改变 备份差异备份过程中发生的活动 备份未提交的事务到日志 比完全备份节约时间,部分备份,部分备份与完整备份相似,但部分备份并不包含所有文件组。 部分备份包含主文件组、每个读写文件组以及任何指定的只读文件中的所有

6、数据,部分差异备份,部分差异备份仅记录文件组中自上次部分备份后更改的数据,这样的部分备份称为差异备份的“基准备份”,文件和文件组备份,可以分别备份和还原数据库中的文件。使用文件备份使用户可以仅还原已损坏的文件,而不必还原数据库的其余部分,从而提高恢复速度,文件差异备份,创建文件或文件组的完整备份后,可以基于该完整备份创建一系列的差异备份。文件差异备份只捕获自上一次文件备份以来更改的数据。,日志备份,备份从上次日志备份之后的日志记录 备份完成后要截断日志 事务日志备份仅用于完整恢复模式或大容量日志恢复模式,1.6 备份策略,完全备份 完全备份 + 日志备份 完全备份 + 差异备份 + 日志备份,

7、完全备份,适合于数据库数据不是很大,而且数据更改不是很频繁的情况。 完全备份一般可以几天进行一次或几周进行一次。 当对数据库数据的修改次数不是很频繁,而且允许一定量的数据丢失时,可以选择只用完全备份策略。 完全备份包括了对数据和日志的备份。,完全备份示例,假设在周二晚上11:00系统出现故障,则这时可以将数据库恢复到周一晚0:00时的状态。 使用完全备份策略,还可以将一台服务器上的数据库复制到另一台服务器(在一台服务器上做备份,然后在另一台服务器上进行恢复),使两台服务器上的数据库完全相同。,完全备份 + 日志备份,如果不允许丢失太多的数据,而且又不希望经常地进行完全备份(因为完全备份进行的时

8、间比较长),则可以在完全备份中间加一些日志备份。 例如,可以每天0:00点进行一次完全备份,然后每隔几小时进行一次日志备份。,完全+日志备份示例,完全备份加差异备份再加日志备份,完全备份加差异备份和日志备份的策略,即在完全备份中间加一些差异备份,在差异备份中间加一些日志备份。 比如每周周日0:00进行一次完全备份,然后每天0:00进行一次差异备份,然后再在两次差异备份之间增加一些日志备份。 这种策略的好处是备份和恢复的速度都比较快,而且当系统出现故障时,丢失的数据也比较少。,完全+差异+日志备份示例,1.7 实现备份,使用SQL Server管理平台 使用T-SQL语句,使用SQL Serve

9、r管理平台备份数据库,(1)启动SQL Server Management Studio工具,在“对象资源管理器”中展开Database Engine实例 (2)在需要进行备份操作的数据库名上右击,选择快捷菜单中的“Tasks”“Back Up” (3)在“Back Up Database”对话框中,“Database”列表框用来选择要备份的数据库;“Recovery model”列表框查看为所选数据库显示的恢复模式(FULL、SIMPLE或BULK_LOGGED);“Back Up Type”列表框显示要对指定数据库执行的备份的类型。,“Backup component”选择要备份的数据库组

10、件。 在“Backup set”中,“Name”指定备份集名称,系统将根据数据库名称和备份类型自动建议一个默认名称。 “Description”文本框中,可以输入备份集的说明。“Backup set will expire”用来指定备份集过期时间。 “Destination”选择媒体之一,作为要备份到的目标。其中,“Disk”表示备份到磁盘;“Tape”表示备份到磁带,如果服务器没有相连的磁带设备,此选项将不可用。,使用T-SQL语句备份数据库,完整备份和完整差异备份 文件和文件组备份 事务日志备份,完整备份和完整差异备份,其语法格式如下: BACKUP DATABASE database_n

11、ame TO ,.n WITH DESCRIPTION =text , DIFFERENTIAL , EXPIREDATE = date | RETAINDAYS =days , INIT | NOINIT , NAME = backup_set_name 其中, := logical_backup_device_name | DISK|TAPE= physical_backup_device_name ,文件和文件组备份,其语法格式如下: BACKUP DATABASE database_name ,.f TO ,.n WITH DESCRIPTION = text , DIFFERENTI

12、AL , EXPIREDATE =date| RETAINDAYS = days , INIT | NOINIT , NAME = backup_set_name 其中,: = FILE = logical_file_name | FILEGROUP = logical_filegroup_name | READ_WRITE_FILEGROUPS,事务日志备份,其语法格式如下: BACKUP LOG database_name TO ,.n WITH DESCRIPTION = text , EXPIREDATE = date | RETAINDAYS = days , INIT | NOIN

13、IT , NAME = backup_set_name , NO_TRUNCATE , NORECOVERY | STANDBY = standby_file_name ,示例1,对“Students”理数据库进行一次完全备份,并备份到MyBK_1备份设备上(假设此备份设备已创建好)。BACKUP DATABASE students TO MyBK_1,示例2,例2对“pubs”数据库进行一次完全备份,备份到MyBK_1备份设备上,并覆盖掉该备份设备上已有的内容。BACKUP DATABASE pubs TO MyBK_1 WITH INIT,示例3,对“pubs”进行一次事务日志备份,并以追

14、加的方式备份到MyBKLog1备份设备上。 BACKUP LOG pubs TO MyBKLog1,备份媒体集,当数据库很大时,一个备份设备的空间可能不能满足要求(备份设备的空间受其所在的磁盘空间的限制),这时就可以将数据库备份到多个不同的备份设备上(每个备份设备可建立在不同的磁盘上)。 同时使用多个备份设备进行备份的这些备份设备就称为备份媒体集。 当某个备份设备作为备份媒体集中的一个成员时,这个备份设备就只能在这个备份媒体集中使用,不能再单独使用,除非消除了备份媒体集。,2 恢复数据库,2.1 恢复前的准备 2.2 恢复的顺序 2.3 实现恢复,2.1 恢复前的准备,设置限制访问数据库选项

15、尽可能备份日志,2.2恢复的顺序,1. 恢复最近的完全备份;2. 恢复最近的差异备份(如有);3. 恢复自差异备份之后的所有日志备份(按备份的先后顺序)。,2.3实现恢复,使用SQL Server管理平台 使用T-SQL语句,使用SQL Server管理平台恢复数据库,(1)启动SQL Server Management Studio工具,在“对象资源管理器”中展开Database Engine实例 (2)在数据库名上右击,选择快捷菜单中的“Tasks”“Restore”“Database” (3)弹出“Restore Database”对话框。其中,“Destination for rest

16、ore”用于指定还原的目标,在“To database”列表框中,为还原操作选择现有数据库的名称或键入新数据库名称。在“Select the backup sets to restore”中,选择用于还原的备份集,“Type”列显示备份集的类型。 (4)选择对话框中的“Options”,可以查看和修改还原选项,使用T-SQL语句完整还原数据库,完整还原的语法格式如下: RESTORE DATABASE database_name FROM ,.n WITH FILE = file_number , MOVE logical_file_name TO operating_system_file_name ,.n , RECOVERY | NORECOVERY | STANDBY = standby_file_name , REPLACE ,

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

当前位置:首页 > 商业/管理/HR > 经营企划

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