备份与还原
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、概述
(1)数据备份和恢复是重要的数据管理工作。
(2)数据备份是制作数据库的结构和数据的拷贝,以便在数据库遭到破坏的时候能够恢复数据库。
(3)数据库的备份和恢复是相互的。
没有数据库的备份,就无法进行数据库的恢复,但恢复工作本身也是一项非常艰巨的工作。
(要建立恢复与备份同等重要的概念)
二、恢复模式(数据库选项)
备份和还原操作是在“恢复模式”下进行的。
恢复模式是数据库的一个属性,它用于控制数据库备份和还原操作基本行为。
指定具体数据库的不同恢复模型,可以使
①服务器按不同的方式维护该数据库数据和日志,
②备份该数据库时采用不同的备份方法
③从而在恢复数据库时实现不同程度的恢复。
新的数据库可继承model 数据库的恢复模式。
1、简单恢复模式
在此模式下,数据库会简略地记录大多数事务,所记录的信息只是为了确保在系统崩溃或还原数据备份之后数据库的一致性。
在简单恢复模式下,在每个数据备份后事务日志将自动截断,也就是说,不活动的日志将被删除。
因为经常会发生日志截断,所以没有事务日志备份。
这简化了备份和还原。
但是,没有事务日志备份,便不可能恢复到失败的时间点。
适用于规模较小的或数据不经常改变的数据库;
在该模式下,可通过执行完整数据库备份和增量(差异)备份恢复数据库。
2、完整恢复模式
此模式完整地记录了所有的事务,并保留所有的事务日志记录,直到将它们备份。
完整恢复模式能使数据库恢复到故障时间点。
但这种恢复模式耗费大量的磁盘空间(*.ldf)。
3、大容量日志恢复模式
此模式简略地记录大多数大容量操作(例如,索引创建和大容量加载),完整地记录其他事务。
大容量日志恢复提高大容量操作的性能,常用作完整恢复模式的补充。
大容量日志恢复模式支持所有的恢复形式,但是有一些限制。
4、数据库恢复模式的设置
1)、SQL Server Management Studio
2)、ALTER DA TABASE 语句
练习:
1、查看数据库library的恢复模式
2、查看数据库library的备份方式,观察备份方式和恢复模式之间的关系
磁盘文件、磁带、命名管道
三、备份基础
1、备份的计划工作
参考帮助“确定恢复目标和要求”
2、备份的内容
(1)备份系统数据库(记录系统信息master、msdb、model)
参考帮助:“备份和还原系统数据库”
(2)备份用户数据库
被备份的数据库包括数据文件和日志文件(日志记录了每个事务开始、对数据改
变、修改的足够信息,并随着数据库的操作,日志连续增加)。
3、备份时间
创建数据库后、加载数据后、创建索引后、清除日志后、执行不记日志的操作后4、备份介质
备份内容(数据库的结构和数据的拷贝)的载体。
四、执行备份操作
1、备份文件的创建与使用
(1)永久备份文件(备份设备)
可以重复使用的备份设备(*.bak)
a)使用management studio创建
b)使用系统存储过程sp_addumpdevice
例:sp_addumpdevice ‘disk’,’testbackupfile’,’c:\temp\testbackupfile.bak’
注意:永久备份设备创建后,在相应的文件夹没有生成文件,只有在执行了备份操作,备份设备上存储了备份内容之后,该文件才会出现在指定位置。
(2)临时备份文件
不需要先创建后使用,直接在使用backup语句备份文件时创建。
Backup database master to disk=‘d:\masterbak.bak
相关帮助主题:备份设备
2、备份方法
(1)完全(完整)备份
备份数据库中所有的数据和结构,包括对部分事务日志进行备份,以便能够恢复完整数据库备份,是其他备份方式的基础。
(2)增量(差异)数据库备份
备份自上次完全备份后的改变,完全备份是基础
(3)事务日志备份
备份数据库中事务日志的变化过程。
a)要在完全备份的基础上进行事务日志备份。
b)在simple 恢复模型下不能执行事务日志备份
c)第一次事务日志备份开始于最近的一次完全备份或差异备份。
d)备份内容是从上一次事务日志备份到当前事务日志结束,事务日志是
一个序列。
使用企业管理器或backup log 语句进行备份。
完全备份晚10:00
事务日志备份1: 晚10:00—早9:00 事务日志修改的内容
事务日志备份2:早9:00—11:00事务日志修改的内容
事务日志备份3:早11:00—13:00事务日志修改的内容
(4)数据库文件或文件组备份
适用于海量数据库,只备份一个或多个文件或文件组。
在备份文件或文件组时,要同时备份事务日志。
五、执行恢复工作
执行恢复就是把备份内容加载到数据库中的过程。
1、验证备份文件内容
使用restore语句验证备份内容
RESTORE HEADERONLY
RESTORE FILELISTONLY
RESTORE LABELONLY
RESTORE VERIFYONLY
例:RESTORE HEADERONLY from 备份设备名称
可以从不同备份中恢复数据库
如果数据库遭到破坏:
1、从完全数据库备份中恢复(这是数据库恢复的基础)
2、如果只是从完全备份中恢复,则该恢复工作结束
3、如果还有后续的恢复工作,如在完全备份基础上的增量备份的恢复和日志备份内容
的恢复,可按顺序依次执行。
恢复类型:
a)数据库崩溃-----完全备份恢复---结束
b)数据库崩溃-----完全备份恢复---增量备份恢复---结束
c)数据库崩溃-----完全备份恢复---增量备份恢复---事务日志备份恢复
----结束
d)数据库崩溃-----完全备份恢复---事务日志备份恢复---结束
e)数据库崩溃-----完全备份恢复---事务日志备份恢复---事务日志备份
恢复---结束
相关帮助主题:SQL Server 中的备份和还原策略简介
假设有下列事件顺序。
若要将数据库还原到晚上9:45(故障点)时的状态,可以使用那种恢复过程?
练习:创建数据库mydb,针对其中的表table1的数据更改情况进行如下备份与恢复练习。
1、观察事务日志lsn,体会事务日志备份链
2、恢复方案一:完全备份1恢复—事务日志1恢复(失败),以此了结
事务日志备份的时机
3、分别体会不同的恢复方案能把数据恢复的程度:
完全备份1—差异备份1—恢复结束
完全备份1—差异备份1—事务日志备份1—事务日志备份2—恢复结束
完全备份1—差异备份1-—事务日志备份1—事务日志备份2—事务日志备份3—恢复结束
完全备份1—差异备份2—恢复结束
完全备份1—差异备份2—事务日志备份3—恢复结束。