三级数据库[Sqlserver]数据备份的三个恢复模型(2)

三级数据库[Sqlserver]数据备份的三个恢复模型(2),第1张

三级数据库[Sqlserver]数据备份的三个恢复模型(2),第2张

如果您想要进行定期和有计划的备份,您需要使用逻辑备份设备。逻辑备份设备可以保存多个数据库备份,并驻留在磁盘、磁带或命名管道上。如果使用磁带设备,磁带驱动器必须位于同一物理服务器上。命名管道可以利用第三方备份软件。
若要创建逻辑备份设备,请使用sp_addumpdevice system保存该过程。企业管理器也可用于创建备份设备。命令行语法如清单a所示。

清单B展示了在磁盘上创建逻辑备份设备的例子。

创建备份设备后,可以使用以下命令备份Northwind数据库:

将数据库Northwind备份到磁盘备份

频繁更改的大型数据库的备份

现在,我已经演示了如何备份整个数据库。但是,它只允许您在备份结束时恢复保存在数据库中的数据。如果数据库很大并且频繁更改,由于时间和空的限制,频繁备份整个数据库是不现实的。当数据库出现故障时,大量数据可能会丢失。

在这种情况下,有两种方法可以提高可恢复性,这两种方法都需要完整的数据库备份。此外,这两种方法都要求数据库恢复模式为FULL或BULK_LOGGED。

第一种方法使用差异数据库备份,它仅在完整数据库备份后捕获并保存更改的数据。因为它的文件小,信息简洁,所以恢复数据非常快。

以下示例在名为DiffBackupDevice的逻辑备份设备上创建差异备份:

使用差异将数据库Northwind备份到DiffBackupDevice

提高可恢复性的第二种方法是使用事务记录备份,恢复可以在特定的时间点完成。

你可能会问这怎么可能。请记住,事务记录的目的是记录数据库中发生的所有事务。事务记录允许提交和回滚正常工作。为了实现该功能,该数据更改前后的值必须与操作类型、交易开始(时间)等一起记录。

备份技能

使用下面列出的提示来确保您在每周数据库备份期间不会忘记关键步骤。

每周备份一次主数据库。如果您创建、修改或停止数据库,添加新的SQL Server消息,添加或停止连接到服务器,或者添加录制设备,请进行手动备份。

每天备份一次msdb数据库。通常,它很小,但很重要,因为它包含了所有的SQL Server工作、操作和规划任务。

只有当你修改它的时候,才需要备份模型数据库。

使用SQL Server代理计划备份工作。

如果生产环境中有可用资源,请将生产数据库备份到本地磁盘或网络服务器(使用同一交换机)。然后,将备份文件/设备复制到磁带。当出现许多硬件故障时(尤其是在RAID系统中),磁盘通常处于良好状态。如果备份文件在磁盘上,恢复速度会快得多。

至少应使用简单的恢复模式来备份和测试数据库。

除了定时备份之外,在未记录的批处理操作(如批处理复制)、索引创建或恢复模式更改之后,应该备份用户数据库。

如果使用简单恢复模式,请记住在截断事务记录后备份数据库。

记录您的恢复步骤。至少大致记录下这些步骤,注意所有重要文件的位置。

在记录被截断之前,也就是说,在所有提交的事务从记录中清除空之前,所有这些信息都保存在事务记录中。在简单恢复模式中,记录在检查点期间被截断(当SQL Server内存缓冲写磁盘时),这是自动发生的,但也可以手动执行。这就是简单恢复模式不支持时间点恢复的原因。在完整和BULK_LOGGED恢复模式下,备份事务记录时,事务记录会被截断,除非您明确指出不要截断它们。

要备份事务,请使用BACKUP LOG命令。其基本语法与BACKUP命令非常相似:

将日志{数据库}备份到

以下是如何将事务记录备份到名为LogBackupDevice的逻辑设备的示例:

将事务Northwind备份到LogBackupDevice

如果不想截断事务记录,请使用NO_TRUNCATE选项,如下所示:

使用NO_TRUNCATE将事务Northwind备份到LogBackupDevice

只是基础知识。

虽然我在本文中只概述了数据库恢复的基础知识,但是通过这些技术你还是可以找到正确的方向。然后,为了避免不必要的恐慌(数据丢失造成的),应该每周备份主数据库,每天备份msdb。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 三级数据库[Sqlserver]数据备份的三个恢复模型(2)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情