全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
寒山sql数据库修复中心 / 学习散记 12 之-SQL Server 恢复模式 SQL Server 提供三种可供选择的恢复模式:简单恢复模式、完整恢复模式和大容量日志 简单恢复模式、 简单恢复模式 恢复模式。 恢复模式。 恢复模式是一个数据库属性 它用于控制数据库备份和还原操作基本行为。 数据库属性, 为每个数据库选 数据库属性 择最佳恢复模式是计划备份和还原策略的必要部分。 查看恢复模式: 查看恢复模式: 1.展开“数据库”,然后根据数据库的不同,选择用户数据库,或展开“系统数据库”,再选 择系统数据库。 2.右键单击该数据库,再单击“属性”,这将打开“数据库属性”对话框。 3.在“选择页”窗格中,单击“选项”。 4.当前恢复模式显示在“恢复模式”列表框中。 5.也可以从列表中选择不同的模式来更改恢复模式。 可以选择“完整”、 “大容量日志”或“简 单”。 简单恢复模式 特点:无日志备份。自动回收日志空间以减少空间需求,实际上不再需要管理事务日志空 特点 间。 工作丢失的风险 :最新备份之后的更改不受保护。在发生灾难时,这些更改必须重做。 能否恢复到时点: 能否恢复到时点:只能恢复到备份的结尾 降低工作丢失风险: 降低工作丢失风险:不影响备份管理的前提下时常备份,以免丢失大量数据。 适用范围(符合下列所有要求 : 适用范围 符合下列所有要求): 符合下列所有要求 1.不需要故障点恢复。如果数据库丢失或损坏,则会丢失自上一次备份到故障发生之间的 所有更新,但您愿意接受这个损失。 2.您愿意承担丢失日志中某些数据的风险。 3.您不希望备份和还原事务日志,希望只依靠完整备份和差异备份。 完整恢复模式 特点: 特点:需要日志备份。数据文件丢失或损坏不会导致丢失工作。可以恢复到任意时点(例 如应用程序或用户错误之前)。 工作丢失的风险:正常情况下没有。如果日志尾部损坏,则必须重做自最新日志备份之后所 工作丢失的风险 做的更改。 能否恢复到时点:果备份在接近特定的时点完成,则可以恢复到该时点。 能否恢复到时点 时点恢复:出现故障后,可以尝试备份“日志尾部”(尚未备份的日志)。如果结尾日志备份 时点恢复 成功,则可以通过将数据库还原到故障点来避免任何工作丢失。 缺点: 缺点:使用日志备份的缺点是它们需要使用存储空间并会增加还原时间和复杂性。 一般的备份策略: 一般的备份策略: 1.首先完整备份数据库以及日志备份. 2.在日志备份后的某个时间,数据库发生错误.接下来 先备份活动日志 3.然后还原完整数据库备份和日志备份,但是不恢复数据库; 4.还原并恢复结尾日志备份。这样就完成了恢复待故障点,恢复了所有数据. 降低工作丢失风险 以将工作丢失的风险限定在业务要求所允许的 降低工作丢失风险:建议经常执行日志备份, 风险 范围内。 适用范围(符合下列任一要求 : 适用范围 符合下列任一要求): 符合下列任一要求 1.您必须能够恢复所有数据 2.数据库包含多个文件组,并且您希望逐段还原读/写辅助文件组(以及可选地还原只读 文件组)。 3.您必须能够恢复到故障点 4.您希望可以还原单个页 5.您愿意承担事务日志备份的管理开销。 大容量日志会恢复 特点: 特点:需要日志备份。是完整恢复模式的附加模式,允许执行高性能的大容量复制操作。 通过使用最小方式记录大多数大容量操作,减少日志空间使用量。 则必须 工作丢失的风险:如果在最新日志备份后发生日志损坏或执行大容量日志记录操作, 作丢失的风险 重做自该上次备份之后所做的更改,否则不丢失任何工作。 能否恢复到时点: 能否恢复到时点:可以恢复到任何备份的结尾。不支持时点恢复。 切换到该模式的必要性: 切换到该模式的必要性:对于某些大规模大容量操作(如大容量导入或索引创建),暂时切 换到大容量日志恢复模式可提高性能并减少日志空间使用量。仍需要日志备份。 何时使用大容量日志恢复模式: 何时使用大容量日志恢复模式:仅在运行大规模大容量操作期间以及在不需要数据库的时 点恢复时使用该模式。 建议在其余时间使用完整恢复模式。 当完成一组大容量 操作后,我们建议您立即切换回完整恢复模式。 各个模式之间的切换: 各个模式之间的切换: 1.从简单恢复模式切换到完整恢复模式: 从简单恢复模式切换到完整恢复模式: 从简单恢复模式切换到完整恢复模式 a.完成到完整恢复模式或大容量日志恢复模式的切换之后, 立即进行完整数据库备份或差 异数据库备份以启动日志链。 b.计划常规日志备份并相应地更新还原计划。 2.从完整恢复模式或大容量日志恢复模式切换到简单恢复模式 从完整恢复模式或大容量日志恢复模式切换到简单恢复模式: 从完整恢复模式或大容量日志恢复模式切换到简单恢复模式 需要中断备份日志链。因此,极力建议您在切换之前备份日志,这样可允许您将数据库 恢复到该点。 3.在完整恢复和大容量日志恢复之间切换 在完整恢复和大容量日志恢复之间切换: 在完整恢复和大容量日志恢复之间切换 a.在切换到大容量日志恢复模式之前,先备份日志。 b.执行大容量操作之后,立即切换回完整恢复模式。 c.切换回完整恢复模式之后,再次备份日志. 具体切换的语句: 具体切换的语句: 将数据库设置为完整恢复模式: 将数据库设置为完整恢复模式: USE master; ALTER DATABASE database_name SET RECOVERY FULL; 将数据库设置为大容量日志恢复模式: 将数据库设置为大容量日志恢复模式: USE master; ALTER DATABASE database_name SET RECOVERY BULK_LOGGED; SQL Server 备份的三个恢复模型 FULL | SIMPLE | BULK_LOGGED 在 SQL Server 2000 中,有无数种备份数据库的方法。无论你的数据库有多大、改变是否频繁,都有满足 你的要求的备份策略。让我们看看几种可以在不同环境下工作的基本备份策略。 本文假定你有备份数据库的权限。也就是说,你要么是系统管理员,要么是 db_owner 或者 backupadministrator。还有,我们还假定你的操作系统提供了访问备份所需要的资源的权利,例如,访问 磁盘或者磁带驱动器。 从哪儿开始 在你开始备份一个 SQL Server 数据库之前,你需要知道该数据库使用了哪个恢复模型。这里有三种不同 的恢复模型:FULL、BULK_LOGGED 和 SIMPLE。 FULL 恢复模型向你提供了最大的恢复灵活性。新数据库默认使用的就是这种恢复模型。利用这种模型, 你可以恢复数据库的一部分或者完全恢复。假设交易记录(transactions log)还没有被破坏,你还可以在 失败之前恢复出最后一次的已提交(committed)交易。在所有的恢复模型中,这种模型使用了最多的交易 记录空间,并轻微影响了 SQL Server 的性能。 BULK_LOGGED 恢复模型比 FULL 模型少了一些恢复选项,但是进行批操作(bulk operation)时它不会 严重影响性能。在进行某些批操作时,由于它只需记录操作的结果,因此它使用了较少的记录空间。然而, 用这种模型,你不能恢复数据库中的特定标记,也不能仅仅恢复数据库的一部分。 SIMPLE 恢复模型是这三种模型中最容易实施的,它所占用的存储空间也最小。然而,你只能恢复出备份 结束时刻的数据库。 为了找出你所用数据库的恢复模型,可以运行下面的命令,该命令应该返回 FULL、BULK_LOGGED 和 SIMPLE 这三个值中的某一个: SELECT dbpropertyex(database, recovery) 为了改变数据库的恢复选项,运行下面的命令: ALTER DATABASE database name SET RECOVERY FULL | SIMPLE | BULK_LOGGED 除数据之外,SQL Server 备份还包括数据库大纲(schema)和数据库元数据(即数据库文件、文件组和 它们的位置)。SQL Server 允许在备份时用户依然使用数据库,所以在备份期间发生的交易也记录到备份 中去了。 备份数据库 为了备份数据库,你可以运行 BACKUP 命令。(你也可以使用 SQL Enterprise Manager。)在执行命令 之前知道它的语法永远是个好主意。BACKUP 命令有许多选项,它的基本语法是: BACKUP DATABASE database_name TO | backup_device 可以是磁盘或者磁带或者它也可以是一个用磁盘文件、磁带或者已命名管道表示的逻 辑上的备份设备。 如果你想做一个快速、一次性的备份,那么向下面那样使用磁盘文件: BACKUP DATABASE Northwind TO DISK = c: ackupNorthwind.bak 如果你想把数据库备份到另外一台服务器上,可以使用 UNC 名字: BACKUP DATABASE Northwind TO DISK = FILESERVERSharedBackupNorthwind.bak 如果想进行有规律、有计划的备份,就需要使用逻辑备份设备。一个逻辑备份设备可以保存若干个数据库 备份并驻留在磁盘、磁带或者已命名管道上。如果你使用磁带设备,磁带驱动器必须在同一台物理服务器 上。已命名管道可以利用第三方备份软件。 为了创建逻辑备份设备,使用 sp_addumpdevice 系统保存过程。SQL Enterprise Manager 也可以用来创 建备份设备。命令行语法如清单 A 所示。 清单 清单 B 给出了一个在磁盘上创建逻辑备份设备的例子。 当备份设备创建完毕,Northwind 数据库可以用下面的命令进行备份: BACKUP DATABASE Northwind TO DiskBackup 频繁变动的大数据库的备份 现在,我已经演示了如何备份整个数据库。然而,它只允许你恢复备份结束时刻的数据库所保存的数据。 如果数据库很大并且频繁变动,由于时间和空间的限制,频繁进行全数据库备份是不现实的。当数据库失 败时,可能会造成大量数据丢失。 在这种情况下,有两种提高可恢复性的途径,这两个途径都要求全数据库备份。而且这两种方法都要求数 据库恢复模型为 FULL 或者 BULK_LOGGED。 第一种方法采用差异数据库备份,它只捕获并保存全数据库备份后改变的数据。由于它的文件较小而且信 息简明,用它进行数据恢复的速度非常快。 下面的例子在一个名为 DiffBackupDevice 的逻辑备份设备上创建了一个差异备份: BACKUP DATABASE Northwind TO DiffBackupDevice WITH DIFFERENTIAL 第二个提高可恢复性的方法利用交易记录备份,恢复可以在一个特定的时间点上完成。 你可能会问这怎么可能。记住,交易记录的目的就是记录发生在数据库中所有交易。交易记录允许 COMMIT 和 ROLLBACK 正确工作。为了达到这个功能,该数据的变化前后的数值必须随同操作类型、交易开始(时 间)等一齐被记录下来. 备份技巧 利用下面的列出的技巧来确保你不会在每周一次的数据库备份过程中忘记关键步骤。 ? 每周一次备份主数据库。如果你创建、修改或者停止一个数据库,添加新的 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 恢复模型下,当交易记录被备份时,交易记录被截短,除非你 明确指出不进行截短。 为了备份交易记录,使用 BACKUP LOG 命令。其基本语法与 BACKUP 命令非常相似: BACKUP LOG database TO 下面是如何把交易记录备份到一个名为 LogBackupDevice 的逻辑设备上的例子: BACKUP TRANSACTION Northwind TO LogBackupDevice 如果你不希望截短交易记录,使用 NO_TRUNCATE 选项,如下所示: BACKUP TRANSACTION Northwind TO LogBackupDevice WITH NO_TRUNCATE 只是基本知识 尽管我在本文中仅仅概述了数据库恢复的基本知识,你还是可以通过这些技巧来找到正确的方向。那么, 为了避免不必要的(丢失数据造成的)恐慌,你要做到每周备份主数据库,每天备份 msdb。 FULL 或 BULK_LOGGED 恢复模式还原指定数据页 2008-06-23 10:08:48 来源:中国自学编程网 作者:佚名 SQL Server 2005 引入了对置为 FULL 或 BULK_LOGGED 恢复模式的数据库还原 指定数据页的能力。在很少发生的、数据库中少许数据页被破坏的情况下,还原 单个数据页可能比还原整个文件、文件组或整个数据库更为有效。 还原指定页面的语法与还原文件组或还原数据库相似,只是需要使用 PAGE 关键字和页 ID。在 msdb.dbo.suspect_pages 系统表、SQL 错误日志或 DBCC 命 令输出的返回中会标识出那些坏的页面。 为了启动这个示例,创建了 TestDB 数据库的完整数据库备份: 下一步,使用 PAGE 参数执行还原操作: 这个查询返回: 已为数据库TestDB,文件TestDB(位于文件 1 上)处理了 1 页。 RESTORE DATABASE FILE=成功处理了 1 页,花费 0.621 秒(0.013MB/秒)。 在这一点上,可以对在最后完整备份之后产生的任何差异备份或事务日志备 份进行还原操作。在这个示例中没有进行这些操作,没有继续还原其他备份。下 一步,进行和前一示例相关的操作,必须创建新的事务日志备份来捕捉还原的页 面: 这个查询返回: 已为数据库TestDB,文件TestDB_log(位于文件 1 上)处理了 4 页。 BACKUP LOG 成功处理了 4 页,花费 0.126 秒(0.243MB/秒)。 为了完成页面还原操作,在 RESTOREPAGE 之后必须执行带 RECOVERY 的事 务日志还原操作: 解析 在这个技巧中,通过在 RESTORE DATABASE 命令中使用 PAGE 选项从完整数据 库备份中还原单个数据页。正如从 FILE 或 FILEGROUP 中还原,第一个 RESTORE 将数据库置为 NORECOVERY 状态,这将允许在完成还原之前附加额外的事务日志 备份。可以使用这个技术还原最多 1 000 个单个页面。 sql 自动备份数据库 2010-03-23 13:51:38 的维护计划
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届江苏省扬州大附属中学物理九年级第一学期期末学业质量监测试题含解析
- 2026届上海市长宁、金山区九年级物理第一学期期末教学质量检测模拟试题含解析
- 消防安全排查整治专项行动实施方案
- 纹身活动策划方案
- 2025预防艾滋病梅毒和乙肝母婴传播技术培训考试练习题及答案
- 夜间施工安全管理技术交底范本
- 2025年建筑施工安全管理试题及答案解析
- 双减政策下小学生语文作业创新
- 篮球工会活动方案
- 2025电梯安全管理员考试题及参考答案
- 分拣标准化培训课件
- 2025至2030中国电容膜片真空计行业项目调研及市场前景预测评估报告
- 女装秋冬商品培训
- 2025年新团员入团考试试题及答案
- 第2课《中国人首次进入自己的空间站》课件-2025-2026学年统编版语文八年级上册
- 灵山县病死禽畜无害化处理项目环评报告
- 2025至2030年中国城市排水系统行业发展潜力分析及投资方向研究报告
- 院感紫外线消毒培训课件
- 2025年安全教育平台登录入口与模拟试题集
- 公司注销原合同补充协议
- 2025-2030中国区块链技术在供应链金融中的信用穿透效应
评论
0/150
提交评论