查看: 779|回复: 0

[SQLServer] SQL Server备份和还原

发表于 2018-1-24 08:00:01

对于生产数据来讲,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的的后果。而备份作为数据的副本,可以有效的保护和恢复数据


数据丢失的原因

数据丢失的原因主要包括以下几类:

杨书凡12.png

(1)程序错误。例如,程序异常终止或逻辑错误等

(2)人为错误。例如,用户或管理员误操作

(3)计算机失败。例如,硬件、软件故障引起系统崩溃

(4)磁盘失败。例如,磁盘物理块损坏

(5)灾难和偷窃。例如,火灾、地震

所以,数据库管理员的主要职责之一就是规划一个妥善的备份和还原策略以保护数据库,避免由于各种故障造成损失而丢失数据,以在系统失效后尽快的还原数据库


备份类型

在SQL Server中,提供三种常见的备份类型,分别是完整备份、差异备份、事务日志备份

完整备份:包括对整个数据库、部分事务日志、数据库结构和文件结构的备份,提供了任何其他备份的基准,其他备份只能在执行了完整备份之后才能被执行

差异备份:上一次完整备份之后所有更改数据的备份,备份能识别哪一部分被修改了,只对这一部分做备份,备份速度快

事务日志备份:记录了数据库的所有的改变,主要备份的是T-SQL语句,而不是整个数据库结构、文件结构或数据


恢复类型

不管是备份还是还原,都是在一定的恢复模式中进行的。恢复模式是数据库的一种特性,控制着数据库备份和还原的基本行为,数据库管理员应根据实际需求及对数据的恢复需求来选择合适的恢复模式。

简单恢复模式:不活动的日志将被删除,不支持事务日志备份,只适用于小型数据库和不经常更改的数据库

完整恢复模式:可在最大范围内防止出现故障时丢失数据,包括数据库备份和事务日志备份,并提供全面保护,和恢复到任意指定时间点

大容量日志恢复模式:对完整恢复模式的补充,提供良好的性能,并占用较小的日志空间,但增加了丢失数据的风险,适用于对数据库进行大批量操作环境


更改恢复模式

打开SSMS,依次展开“SQL Server实例”、数据库,右击选中的数据库,选择属性、选项,在恢复模式下拉列表选择恢复模式,如下图所示:

杨书凡13.png


备份设备

在进行备份的时候,首先需要建立一个文件来存储备份的数据,这个备份文件就叫做备份设备

杨书凡14.png



案例:某公司使用SQL Server2008 R2存储数据,为了提高数据的安全性,需要对数据库进行备份。每周一22:00进行完整备份,每天12:00进行事务日志备份

(1)在SSMS中,依次展开管理、维护计划,右击维护计划向导(需要开启SQL Server代理服务)

(2)在选择计划属性窗口,输入该维护计划的名称,选中每项任务单独计划

杨书凡15.png


(3)在选择维护任务窗口选择以下复选框,下图所示:

杨书凡16.png


(4)选择需要备份的数据库,选择备份的位置,选中验证备份完整性,压缩备份。最后设置执行计划,每周一22:00进行完整备份

杨书凡17.png


(5)设置备份事务日志,和上一步类似

杨书凡18.png


(6)单击完成

杨书凡19.png


由每天对数据库进行备份,时间久了,占用的磁盘空间过大,可以通过修改维护计划,自动清除历史记录。


数据库还原

右击需要还原的数据库,选择任务、还原、数据库,进行还原

杨书凡20.png







回复

使用道具 举报