网站首页  词典首页

请输入您要查询的论文:

 

标题 SQL SERVER中用户数据库的备份还原策略
范文

    周若谷

    摘要:随着信息技术的快速发展企业的数据存储量越来越大,目前针对数据库中数据的攻击也越来越多,怎样提高数据的安全性和数据恢复能力一直是用户和厂商关注的焦点。备份是恢复数据最有效的方法,选择怎样的备份策略使得当损害来临的时候将损失减小到最小是备份还原的关键。本文主要讲解在微软Sql Server服务器中用户数据库的备份还原策略,对当前企业的数据安全和数据恢复提供参考。

    关键词:SQL SERVER;数据库;备份;还原;企业

    随着信息技术的快速发展,企业的信息数据量也急剧增长。如何避免突如其来的数据破坏(如:黑客攻击、病毒袭击、硬件故障和人为误操作等),提高数据的安全性和数据恢复能力一直是用户和厂商关注的焦点。备份是恢复数据最容易和最有效的保证方法,企业应当根据自己的经济情况和所能承受的损失来设计数据库的备份以及还原策略。

    1 选择数据库恢复模型

    在创建企业数据库时就应当规划好数据库的恢复模型,SQL Server中有三种数据库恢复模型,当损害发生时,每个模型都可以不同程度的恢复数据库:

    1.1 完全恢复模型

    在该模型下,SQL Server可以记录数据库的所有更改,因此如果日志文件本身没有被损坏,除故障发生时没有执行完的事务外,服务器可以还原所有数据,并且可以将数据库还原到任意时间点。该模型的主要问题是日志文件较大产生的存储空间开销和系统性能开销。

    1.2 大容量日志记录恢复模型

    该模型与完全恢复模型相似,当损害发生时使用数据库和日志备份一同来重建数据库,但是对于CREATE INDEX、大容量转载操作、SELECT INTO、WRITETEXT以及UPDATETEXT使用较少的日志空间,不在日志中存储这些操作的详细情况。该模型可以还原所有的数据,但是不能只还原备份的一部分,比如不能像完全模型一样还原到某一个特定标记。

    1.3 简单恢复模型

    对于小型数据库或者不经常更新数据的数据库,可以使用该模型。它使用数据库的完全备份或者差异备份恢复数据,只能将数据还原到最后一次备份的时间点的状态。优点是日志占用空间小。

    2 选择备份数据库的方法

    SQL Server有四种备份方法来满足数据库恢复的不同的实际需求:

    2.1 完全数据库备份

    完全数据库备份时,服务器备份整个数据库。系统发生故障时完全数据库备份就是恢复的基准。所以任何一个备份策略都必须先对目标数据库进行完全数据库备份。

    2.2 差异备份

    进行差异备份时,服务器备份当前数据库与上一次完全备份数据库时相比更改的部分,以及备份过程中发生的活动、事务日志中所有未提交的事务。

    2.3 事务日志备份

    进行日志备份时,服务器备份上一次执行BACKUP LOG语句到现在执行BACKUP LOG语句中间的这段事务日志。必须明确的是:在进行日志备份之前一定至少要完成一次完全数据库备份,否则在还原的时候将无法还原事务日志。

    2.4 数据库文件和文件组备份

    微软给超大型的数据库提供了一种备份方式——文件组和文件备份方法,在这种方式中管理员可以将数据库大卸八块,将多个数据文件或者文件组分别进行备份,而不是传统的备份整个数据文件。需要注意的是,执行这种备份方式时必须同时执行日志备份。

    2.5备份策略案例

    2.5.1仅使用完全数据库备份策略

    当用户数据库较小或者数据库很少进行修改时,可以只选择完全数据库备份,因为完全备份一个小数据库的时间是可以接受的或者少量的数据丢失是可接受的。此时应该注意经常对事务日志进行清理。例如,某数据库11M,每天修改很少,每天下午18点对他进行完全备份。某天上午5点数据库损坏,则使用前一天的完全备份还原数据库。缺点是:最后一次完全备份到5点之间的数据库修改将被丢失。如果对丢失数据有一定的要求,可以考虑完全备份和其他备份的联合使用。

    2.5.2完全数据库和事务日志备份策略

    需要对经常修改的数据库进行完全数据库备份和日志备份,当然也应考虑它们所需的时间是否可以接受。

    例如,某数据库每天下午18行完全备份,上午9点、中午12点、下午16日志备份,某天下午13点物理媒体损坏。可以立刻用WITH NO_TRUNCATE选项备份日志,用前一天的完全数控备份还原数据库,再应用当天的9点、12点的日志备份还原数据库,最后用开始时建立的日志备份还原数据库,此时数据库的数据不会丢失。

    2.5.3差异备份策略

    当完全数据库和事务日志备份策略还原所消耗的时间用户不能接受时可以考虑使用差异备份策略,该策略可以减少还原的时间,因为它保留最后一次完全备份数据库的更改,而不必使用多个较大的日志文件。应该注意的是:差异备份不能捕获事务日志中的更改,因此也还必须周期性的备份事务日志。

    例如,某数据库每周日2点进行一次完全备份,每个工作日的19点进行差异备份,每天上午8点、18点进行日志备份,某天上午8点30数据库损坏。可以立刻用WITH NO_TRUNCATE选项备份日志,用最近的周日的完全数据备份还原数据库,还原前一天的差异备份,再用上午8点的日志备份还原,最后用刚才用WITH NO_TRUNCATE选项备份日志来还原,此时的数据也不会丢失。

    2.5.4文件和文件组备份策略

    这种备份策略最常用的情况是:当数据库特别大的时候。例如气象卫星收集的图像数库,数据库数量相当大完全备份可能需要几十个钟头这种情况下可以考虑分别对它的数据文件或者文件组进行备份以减少备份所消耗的时间。

    例如,数据库的数据分别存放在三个不同的文件中,每周日2点进行完全备份,星期一1点进行文件一的备份,周二1点备份文件二、周三1点备份文件三,日志文件每天23点进行,周四的时候文件2物理媒体损坏,立刻用WITH NO_TRUNCATE选项备份日志,然后使用周二的备份还原数据,接着使用前一天的日志文件还原,最后用刚才用WITH NO_TRUNCATE选项备份的日志来还原数据库。

    3从不同的备份类型还原数据库

    当损坏发生时,对于不同的备份类型可以有不同的还原方法。

    3.1从完全数据库备份还原

    当数据库的物理磁盘受损,数据库整个损坏或被删除,应该从完全数据库备份进行还原,如果恢复后其后没有任何事务日志或者差异备份,则指定RECOVERY选项,其后还有事务日志备份和差异备份需要还原,则指定NORECOVERY直到最近的备份被还原。

    3.2从差异备份还原

    必须明确的是,差异备份只还原从它最近的一次完全备份到差异备份时数据库的更改部分,如果后面还有日志文件需要还原则使用NORECOVERY选项。否则指定RECOVERY选项。

    3.3从事务日志备份还原

    从事务日志备份还原时,事务日志记录的数据库的更改都会被SQL SERVER还原,也就是说还原事务日志可以将数据库还原到特定的时间点。

    3.4从文件组或文件还原

    从文件或文件组中还原数据的好处是,它可以减少还原超大型数据库的时间,在指定文件被损坏时恢复数据。

    4总结

    本文主要讲解在微软Sql Server服务器中用户数据库的备份还原策略,对当前企业的数据安全和数据恢复提供参考。

    参考文献

    [1]闪四清. SQL SERVER2000系统管理指南. 清华大学出版社. 2000

    [3]MICROSOFT.企业级数据库的安装配置和管理.高等教育出版社,2003

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2024/12/22 23:23:39