IT技术网www.itjs.cn

当前位置:首页 > 数据库 > SQl Server > SQL Server备份的三个恢复模型

SQL Server备份的三个恢复模型

发布时间:2015-11-27 00:00 来源:未知

在SQL Server 2000中,有无数种备份数据库的方法。无论你的数据库有多大、改变是否频繁,都有满足你的要求的备份策略。让我们看看几种可以在不同环境下工作的基本备份策略。

本文假定你有备份数据库的权限。也就是说,你要么是系统管理员,要么是db_owner或者backupadministrator。还有,我们还假定你的操作系统提供了访问备份所需要的资源的权利,例如,访问磁盘或者磁带驱动器。

从哪儿开始

利用下面的列出的技巧来确保你不会在每周一次的数据库备份过程中忘记关键步骤。

每周一次备份主数据库。假如你创建、修改或者停止一个数据库,添加新的SQL Server消息,添加或者停止连接服务器,或者添加记录设备,那就进行手工备份。 每天备份一次msdb数据库。它一般非常小,但很重要,因为它包含了所有的SQL Server工作、操作和计划任务。 只有当你修改它时,才有必要备份模型数据库。 用SQL Server Agent来安排你的备份工作的时间表。 假如在你的生产(production)环境中有现成资源,备份生产数据库到本地磁盘或者网络服务器(用同一个开关)。然后,把备份文件/设备拷贝到磁带上。在存在许多硬件故障(特别是在RAID系统中)的情况下,磁盘常常是完好的(inact)。假如备份文件是在磁盘上,那么恢复时的速度会提高很多。 备份开发和测试数据库至少要用到SIMPLE恢复模型。 除了有计划的定时备份外,在进行未记录的(nonlogged)批操作(如,批拷贝)、创建索引、或者改变恢复模型后要备份用户数据库。 假如你使用的是SIMPLE恢复模型,记住在截短(truncate)交易记录之后备份你的数据库。 用文档记录你的恢复步骤。至少要大概记录这些步骤,注意所有的重要文件的位置。

在截短记录之前,也就是所有的已提交(committed)交易从记录中清空之前,所有的这些信息都保存在交易记录中。在SIMPLE恢复模型中,记录在一个CHECKPOINT期间内截短(在SQL Server内存缓冲写道磁盘时),它是自动发生的,但也可以手动执行。这也就是SIMPLE恢复模型不支持时间点(point-in-time)恢复的原因。在FULL和BULK_LOGGED恢复模型下,当交易记录被备份时,交易记录被截短,除非你明确指出不进行截短。