利用转储方法进行恢复的过程数据库恢复技术
- 格式:docx
- 大小:17.69 KB
- 文档页数:7
寒山sql数据库修复中心/数据库恢复技术1 数据库恢复概述2 恢复的实现3 恢复策略4 SQL Server 的恢复技术2013年3月21日数据库恢复技术21 数据库恢复概述1、引入“恢复”技术的原因–事务故障、系统故障、介质故障–计算机病毒2、恢复的基本原理–冗余3、恢复的含义(1)数据库本身被破坏(2)数据库没有被破坏,但数据可能不正确–所谓数据库的恢复就是利用存储在系统其他地方的冗余数据来修复数据库中被破坏的或不正确的数据,使数据库从错误状态恢复到某一已知的正确状态。
2013年3月21日数据库恢复技术32 恢复的实现技术恢复机制涉及的两个关键问题:数据转储登记日志文件? 如何建立冗余数据如何利用冗余数据实施数据库恢复不同故障的恢复策略有所不同2013年3月21日数据库恢复技术42.1 数据转储1、含义–DBA定期地将整个数据库复制到磁带或另一个磁盘上形成后备副本保存起来的过程。
2、利用转储方法进行恢复的过程3、转储状态–静态转储正常运行–动态转储Ta 转储Tb 重新运行事务运行事务故障发生点Tf4、转储方式–海量转储–增量转储2013年3月21日恢复重装后备副本数据库恢复技术52.2 登记日志文件? ? 日志文件的格式和内容日志文件的作用登记日志文件2013年3月21日数据库恢复技术6一、日志文件的格式和内容什么是日志文件–日志文件(log)是用来记录事务对数据库的更新操作的文件。
日志文件的格式––以记录为单位的日志文件以数据块为单位的日志文件2013年3月21日数据库恢复技术7日志文件的格式和内容(续)以记录为单位的日志文件内容–各个事务的开始标记(BEGIN TRANSACTION) –各个事务的结束标记(COMMIT或ROLLBACK) –各个事务的所有更新操作以上均作为日志文件中的一个日志记录(log record)每条日志记录的内容–––––事务标识(标明是哪个事务)操作类型(插入、删除或修改)操作对象(记录内部标识)更新前数据的旧值(对插入操作而言,此项为空值)更新后数据的新值(对删除操作而言, 此项为空值)2013年3月21日数据库恢复技术8日志文件的格式和内容(续)以数据块为单位的日志文件,每条日志记录的内容–事务标识(标明是那个事务)–被更新的数据块2013年3月21日数据库恢复技术9二、日志文件的作用?进行事务故障恢复进行系统故障恢复协助后备副本进行介质故障恢复2013年3月21日数据库恢复技术10利用静态转储副本和日志文件进行恢复转储Ta Tb 运行事务故障发生点Tf正常运行登记日志文件恢复重装后备副本利用日志文件恢复事务继续运行登记日志文件2013年3月21日数据库恢复技术11三、登记日志文件基本原则–登记的次序严格按并行事务执行的时间次序–必须先写日志文件,后写数据库写日志文件操作:把表示这个修改的日志记录写到日志文件?写数据库操作:把对数据的修改写到数据库中2013年3月21日数据库恢复技术123 恢复策略?事务分类基本的恢复操作不同故障的恢复策略2013年3月21日数据库恢复技术133.1 事务分类圆满事务指日志文件中记录了事务的commit 标识,说明日志中已经完整地记录下事务所有的更新活动。
? 夭折事务指日志文件中只有事务的开始标识,而无commit标识,说明对事务更新活动的记录是不完整的,无法根据日志来重现事务。
为保证事务的原子性,应该撤销这样的事务。
2013年3月21日数据库恢复技术143.2 基本的恢复操作:Redo和UndoRedo和Undo是针对事务的某一次更新操作。
Redo是重新执行这次操作。
其处理的方法是,正向扫描日志文件,将日志记录中“更新后的值”重新写入数据库。
? Undo是消除这次操作的影响,将事务执行点回退到这次操作之前。
其处理的方法是,反向扫描日志文件,将日志记录中“更新前的值”重新写入数据库。
? 在利用日志文件进行恢复的过程中,对已结束的事务中的更新操作进行Redo,对未结束的事务中的更新操作进行Undo。
2013年3月21日数据库恢复技术153.3 不同故障的恢复策略事务故障的恢复系统故障的恢复介质故障的恢复2013年3月21日数据库恢复技术164 SQL Server 的恢复技术4.1 备份数据库4.2 还原数据库4.3 备份和还原的策略2013年3月21日数据库恢复技术174.1 备份数据库? ? ? SQL Server数据备份的特点SQL Server数据库备份的类型创建和管理备份设备备份数据库2013年3月21日数据库恢复技术18一、SQL Server数据备份的特点SQL Server支持在线备份备份工作由数据库管理员来完成2013年3月21日数据库恢复技术19二、SQL Server数据库备份的类型全数据库备份事务日志备份增量备份(差异备份)文件和文件组备份2013年3月21日数据库恢复技术20三、创建和管理备份设备备份设备是SQL Server用来存储数据库、事务日志或文件和文件组备份的存储介质。
? 备份设备可以是本地机器上的磁盘文件、远端服务器上的磁盘文件、磁带以及命名管道。
? 创建一个备份设备时,要给它一个逻辑名称和一个物理名称。
例如:设备类型本地磁盘逻辑名称DB_BACKUP_DISK TAPE_BACKUP NP_BACKUP2013年3月21日物理名称D:\BACKUPS \DBBACKUP01.BAK \\.\TAPE0 \\SQLBACK\PIPE\SQL\BACKUP数据库恢复技术21网络磁盘磁带命名管道TL_BACKUP_SQLBACK \\SQLBACK\BACKUPS\TLBACKUP.BAK创建备份设备使用企业管理器? 使用系统存储过程sp_addumpdevicesp_addumpdevice [@devtype =] 'device_type', disk、pipe、tape[@logicalname =] 'logical_name', [@physicalname =] 'physical_name' [, {[@cntrltype =] controller_type | [@devstatus =] 'device_status'}]创建备份设备时,返回0表示创建成功,返回1表示创建失败。
2013年3月21日数据库恢复技术22示例例1:创建一个磁盘备份设备:EXEC sp_addumpdevice'disk', 'student_full', 'd:\xcm\student.bak'例2:创建一个磁带备份设备:EXEC sp_addumpdevice 'tape', 'tapedump1','\\ .\tape0'2013年3月21日23数据库恢复技术管理备份设备列出备份设备–使用企业管理器–使用sp_helpdevice系统存储过程删除一个备份设备–使用企业管理器–使用SP_DROPDEVICE系统存储过程SP_dropdevice logicalname [,DELFILE]2013年3月21日数据库恢复技术24四、备份数据库备份的内容–master数据库–msdb 数据库–model数据库–distribution数据库–所有的用户数据库使用企业管理器来备份数据库–数据库?所有任务? 备份数据库使用备份语句BACKUP来备份数据库2013年3月21日数据库恢复技术25使用BACKUP来备份数据库完全备份BACKUP DATABASE student TO student_full WITH INIT增量备份(差异备份)BACKUP DATABASE student TO DISK = ‘d:\xm\student_diff.bak' WITH NOINIT, DIFFERENTIAL ? 日志备份BACKUP LOG student TO student_log WITH NOINIT 文件和文件组备份BACKUP DATABASE student FILE=stu2 TO student_file 26 2013年3月21日数据库恢复技术4.2 还原数据库使用企业管理器还原数据库使用RESTORE命令还原数据库–还原整个数据库–还原差异备份–还原日志备份–还原文件和文件组2013年3月21日数据库恢复技术27使用RESTORE命令还原数据库还原整个数据库– RESTORE DA TABASE student FROM student_full还原差异备份– RESTORE DA TABASE student FROM student_differ WITH NORECOVERY还原日志备份– RESTORE LOG student FROM student_log WITH RECOVERY2013年3月21日数据库恢复技术28还原文件和文件组library数据库创建在lib1、lib2和lib3文件上。
Lib2备份在lib2bk备份文件上。
该数据库的日志备份在liblog备份设备上,现在lib2数据文件坏了,可以通过下述命令将它恢复:RESTORE DATABASE library FILE = lib2 FROM lib2bk WITH NORECOVERY GO RESTORE LOG libraryFROM liblog WITH RECOVERY2013年3月21日数据库恢复技术294.3 备份和还原的策略还原模型备份类型全数据库数据库差异简单必需可选事务日志不允许文件或文件差异不允许完全大容量日志记录必需必需可选可选必需必需可选可选2013年3月21日数据库恢复技术301. 你备份SQL Server数据的理由有哪些? A. 崩溃恢复。
C. 将数据从一种处理器结构转移到另一种。
B. 数据的历史档案。
D. 将数据从一个服务器转移到另一个。
2. 建立备份并且从中恢复的备份设备类型有哪些? A. 磁带设备 B. 空设备C. 命名管理设备D. 本地磁盘设备思考题3. SQL Server 备份是动态备份,对于一名系统管理员,这意味着什么? A. 你不必计划备份工作;SQL Server 会自动地为你完成。
B. 当用户使用数据库的时候,你可以备份它,只不过性能上有点影响。
C. 备份和恢复过程会在必要的时候发生,而无需用户干预。
D. 动态备份是事务日志过程,并且这个过程是不断地运行的。
2013年3月21日数据库恢复技术314. 假设你是一个包含着联机事务处理数据库的SQL Server 的管理员。