2024年4月19日发(作者:)

1 制定计划

,备份和恢复策略的计划编制过程是工作中至关重要的部分,不正确的决定就如同服务器丢

失数据一样迅速地结束你的事业。第一步实际上是一个商业问题,可接受的服务器故障时间有多长?

判定正常运行时间的常用标准是所谓的“ 9”。这种分级机制限定了一年内可以接受的服务器故障时间,表

7-1 列出了如何将其转换为年故障时间。

表 7-1 可用性分级

分 级

1 个 9

2 个 9

3 个 9

4 个 9

5 个 9

正常运行时间百分比

每年的故障时间

90%

99%

99.9%

99.99%

99.999%

36.5 天

3.7 天

8.8 小时

53 分钟

5 分钟

如果没有集群解决方案,任何 3 个 9 以上的无故障率几乎不可能实现。应切记数据库越大,恢复该数据

库所花费的时间就越长。你不是没有听说过,花 18 小时恢复一个大型数据库并于隔日完成一致性检查。

7.1.1 第三方备份程序

许多第三方供应商生产优秀的数据库备份和恢复软件,尽管其中某些软件包开始备份 SQL Server,但是

它们在试图备份数据库时将接收到一个共享错误。惟一的解决办法是在备份系统前停止服务,或者购买插

件代理备份已经打开的文件或 SQL Server在线数据库。这类代理将提高软件的价格,大约每一台服务器

增加$800。虽然笔者通过 SQL Server 代理执行备份的成功率已经较高,但是笔者发现这个成功率仍然

低于使用 SQL Server 工具执行备份的成功率。

说明:

许多备份软件包在备份过程前后均可执行命令行程序(例如 net start)。

笔者首先使用这些软件包完成其擅长的工作,即备份文件,而不是数据库。笔者喜欢通过 SQL Server

代理作业备份数据库,然后使用第三方软件获取备份文件。如果公司坚持购买第三方代理备份 SQL Serv

er 数据库,那么为了以防万一,还应使用 SQL Server 工具备份数据库。

警告:

宣称能够备份打开文件的程序可以备份这些文件,但却将 SQL Server 置于不可靠的状态,

这是因为它们没有适当备份未完成的事务。

7.2

备份类型

本节讨论可用于 SQL Server 的备份类型,说明如何使用 GUI 和 T-SQL。笔者始终偏好使用 T-SQL

编写备份脚本,因为这样做可以复制过程,并且提供更多选择。

说明:

必须是 sysadmin、db_owner 或 db_backupoperator 角色的成员才可以创建数据库备份。

此外,还需要备份介质的口令。

7.2.1 在 Enterprise Manager 中全备份

数据库全备份最容易执行,而且这是惟一一种必须在主服务器上完成的备份。数据库全备份保存数据库对

象和关系的完整快照,同时备份用户及其权限。当开始全备份时,将产生以下事件:

1. 数据库备份开始并记录当前时间。

2. 顺序备份每个数据文件的数据页。

3. 自备份步骤 1 以来发生的事务。

举一个简单的例子。首先使用完全数据库备份备份整个数据库。假设备份开始于凌晨 2:00。同时,电子商

务系统中的事务依然继续进行,而且销售情况仍然被记录。当数据页的备份于凌晨 4:00 结束时,这两个

小时内的事务也被备份。这保证了备份与结束时间一致。

警告:

完全备份将备份用户,但不备份登录,即除非备份主数据库。一旦将数据库恢复到不同的服

务器上,用户和登录标识将不同步,本章稍后将介绍如何解决这个问题。

为了在 Enterprise Manager 中备份数据库,右击数据库后选择 All Tasks | Backup Database。在 SQ

L Server Backup(SQL Server 备份)窗口中(如图 7-1 所示),大部分重要的设置已经自动设定。该窗口可

用的选项因数据库所采用的恢复模式而异。 大部分选项一目了然,无须解释。Backup 选项可供选择所需

执行的备份类型。在本例中,笔者执行完全备份。如果安装了磁带设备,则可以选择备份到磁带或备份到

磁盘。如果没有磁带设备,则只有磁盘选项可用。 如果第一次对数据库执行备份,则 Back To(备份到)

框中不会有任何备份设备或文件。如果是这种情况,则必须添加备份设备或文件。备份设备应是一个可保

存一定数量备份的预定义备份位置,这类似于 SQL Server 6.5 中的数据设备,在其中可将很多数据库存

储在一个设备内。数据库文件也可以保存多个备份,但是直到真正执行备份时,才创建文件。若添加新的

备份设备或数据库文件,则单击 Add 按钮,然后在 Backup Device(备份设备)选项内指定位置。 通过单

击 Add 按钮后指定位置,可以继续添加额外的备份设备或文件。如果添加不止一个文件或设备,则信息

均匀遍布在备份文件集内。通过将备份分布给几个文件或设备,可加速大数据库的备份和恢复过程。在将

大数据库备份至磁带时,这尤其有用。

提示:

如果厌倦了更改备份目录,那么可通过修改 HKEY_

LOCAL_MACHINESoftwareMicrosoftMSSQLServer注册表键内的 BackupDirectory 数据项更改缺

省的备份目录。

在 Overwrite(覆盖)区域,Append To Media(添加到介质)选项将备份添加至文件结尾,而 Overwrite Exi

sting Media(覆盖现有介质)选项删除旧备份后创建新备份。该选项卡中的最后一个选项可用于创建执行备

份的作业。使用 SQL Server Agent 可以安排作业备份数据库。通过单击“ U”按钮,可采用以下选项安排

备份:

· Start Automatically When SQL Server Agent Starts(当 SQLServerAgent 启动时自动启动) 这通常