好学IT学院:IT信息技术分享交流平台
来源:数据仓库之路  作者:佚名  发布时间:2008-11-07  ★★★加入收藏〗〖手机版
SQL SERVER数据库备份/恢复测试报告
摘要:为避免因火灾或软硬件故障等特殊原因而导致的数据丢失,数据库管理员通常需要制定一个完善的适用于本系统的灾难恢复计划,而解决的办法中数据库的定期备份又是最有效的途径。在一份合理的备份策略指导下,数据库将得到最大程度的保护和恢复。…

内容提示:为避免因火灾或软硬件故障等特殊原因而导致的数据丢失,数据库管理员通常需要制定一个完善的适用于本系统的灾难恢复计划,而解决的办法中数据库的定期备份又是最有效的途径。在一份合理的备份策略指导下,数据库将得到最大程度的保护和恢复。

 第一章 备份

一、 备份策略

目前有两种备份和恢复策略:

1、数据库备份:备份整个数据库,当出现故障时,自最近一次数据库备份后所有提交的事务都要丢失。

2、数据库和事务日志备份:在两次数据库备份之间,经常备份事务日志。当出现故障时,能恢复所有备份的事务,还能恢复最近一次事务备份后提交完成的事务处理,但丢失未提交的事务。两中备份策略都可以包含差异数据库备份,提高备份和恢复的速度。下面详细说明由此引出的四种备份方案:

1、数据库备份

1) 适用条件:数据库较小;数据更改的频率低或数据库是只读的;出现故障时允许丢失自上次备份以来的数据改动。

2) 备份方法:依据数据库变化频度,进行定期完全备份数据库。

2、数据库和事务日志备份

1) 适用条件:不需频繁进行完全备份数据库;出现故障不能丢失最近的数据库备份后的改动;需要能够恢复到指定时间的数据。
  2) 备份方法:定期进行完全数据库备份,在两次完全数据库备份之间定期备份事务日志。

3、差异备份

1) 适用条件:用于扩充上面的数据库备份或数据库和事务日志备份。差异备份只包含前一次数据库备份后作出改动的部分数据库。

2) 备份方法:定期进行完全数据库备份,在两次完全数据库备份之间定期进行差异备份,在两次差异备份之间定期备份事务日志。

4、数据库文件或文件组备份

1) 适用条件:被分割在多个文件中的大型数据库;要求备份时间较短。

2) 备份方法:定期进行完全数据库备份,在两次完全数据库备份之间定期进行多个文件的依此循环备份和事务日志的备份。

二、 备份中的几个要素

1、执行备份的人员:修复服务器角色的sysadmin成员可备份服务器上的所有数据库;修复数据库角色的db_owner和db_backupoperator成员可备份其所属的数据库。当然也可以通过增加角色来赋予备份数据库的权限。

2、存储备份的位置:本地或网络的磁盘文件;按顺序存放在磁带上的文件系统(从磁盘文件备份);备份到命名管道,允许用户利用第三方软件包的备份功能来进行备份。

3、备份中禁止进行的活动:创建或删除数据库文件;创建索引;非日志化操作;压缩数据库。

4、处理事务日志满的问题:当事务日志满时,SQL SERVER将阻止数据库的更改,采用以下两种方法解决问题:将trunc.log on chkpt.数据库选项设为真,出现一个检查点时事务日志将被自动截断;定期使用BACKUP LOG WITH TRUNCATE_ONLY语句清空事务处理日志。

5、在定期备份的同时,当数据库发生哪些变化时也需要进行备份:

1) 针对master数据库:增删改数据库时,将改变文件或文件组;有关数据库登录或与登录安全有关的系统存储过程(如sp_addlogin、sp_addremotelogin);增减服务器的系统存储过程(如sp_addlinkserver);增减备份设备的系统存储过程(如sp_sp_addumpdevice);重命名数据库(sp_renamedb);改变服务器范围数据库配置的系统存储过程(如sp_dboption、sp_configure、sp_serveroption)。

2) 针对msdb数据库:修改作业、警告、操作员等SQL Server Agent使用的信息时。

3) 针对model数据库:修改了此数据库时。

4) 针对tempdb数据库:不允许备份它。

5) 针对用户数据库:创建数据库或索引时;执行非日志化操作时(如writetext或updatetext、trunc.log on chkpt.为真时使用SELECT INTO或使用bcp命令)。