使用 SQL Server 日志传送在 SharePoint 场之间配置灾难恢复

本文介绍如何使用 Microsoft SQL Server 2005 或 Microsoft SQL Server 2008 日志传送功能在地理位置分散的数据中心为 Microsoft Office SharePoint Server 2007 Service Pack 2 (SP2) 创建灾难恢复场。通过使用此配置,可以提供一个灾难恢复网站,该网站在发生故障转移时提供当前搜索结果。本文假定您熟悉规划可用性 (Office SharePoint Server) 中介绍的概念和术语。

创建和配置辅助数据中心和服务器场通常需要组织中许多团队或角色的参与。为了配置和测试辅助环境,需要与验证提供程序管理员、SQL Server 数据库管理员和所有受影响的 SharePoint 场管理员进行沟通协调。本文主要针对 SharePoint 场管理员,目的是帮助他们:

  • 了解创建日志传送的灾难恢复场的要求

  • 设置试验用日志传送的环境

  • 与将为生产环境配置日志传送的 SQL Server 数据库管理员进行沟通。

本文包含以下几个部分:

  • 日志传送简介

  • Office SharePoint Server 和日志传送概述

  • 辅助数据中心和服务器场的要求

  • 配置日志传送环境

  • 故障转移

  • 测试故障转移时的注意事项

  • 重新配置日志传送或故障回复

  • 小结

日志传送简介

利用日志传送,可以将 SQL Server 配置为从主服务器实例上的主数据库向单个辅助服务器实例上的一个或多个辅助数据库不断发送事务日志备份。事务日志备份将逐个应用于每个辅助数据库。持续从主数据库中备份事务日志,然后将这些日志复制并还原到辅助数据库,可以使辅助数据库与主数据库基本保持同步。日志传送也可以包括可选的第三个服务器实例(称作监视服务器),该服务器记录备份和还原操作的历史记录和状态,并在这些操作未按计划执行时引发警报。

日志传送由三个作业组成。每个作业执行下列操作中的一项:

  1. 备份主服务器实例上的事务日志

  2. 将事务日志文件复制到辅助服务器实例

  3. 在辅助服务器实例上还原日志备份

下图对日志传送进行了说明。

日志传送过程概述

有关详细信息,请参阅 SQL Server 联机丛书文章日志传送 (https://go.microsoft.com/fwlink/?linkid=151252&clcid=0x804)。

Office SharePoint Server 和日志传送概述

SQL Server 日志传送可用于从运行 Office SharePoint Server 2007 SP2 的一个服务器场向一个或多个地理位置分散的辅助服务器场发送内容数据库(包括“我的网站”数据库和单一登录 (SSO) 数据库)。

Important重要说明:

虽然可以在 Office SharePoint Server 2007 SP2 之外的版本上配置日志传送,但仍建议使用 Office SharePoint Server 2007 SP2,因为它具备以下优势:

  • 如果内容数据库处于只读模式,则与该数据库关联的网站集也处于只读模式,并且将更改用户界面以移除需要数据库更改的活动。

  • 搜索将与 Office SharePoint Server 2007 SP2 中的 Web 应用程序分离、然后重新附加到该 Web 应用程序的内容数据库视作已知数据源,并执行增量爬网,而不是完全爬网。这一点很重要,因为在日志传送环境中,我们建议经常分离和重新附加辅助服务器场上的内容数据库,以更新辅助服务器场上的配置数据库,从而使配置数据库可以识别新网站集或已移除的网站集。在重新附加数据库后执行增量爬网这一新功能可以显著减少爬网时间,增加搜索时效性。

辅助服务器场的用途

我们假定辅助服务器场主要用于灾难恢复。但是,如果创建运行 Office SharePoint Server 2007 SP2 的辅助服务器场,则可以向用户公开日志传送的送辅助服务器场上的网站。这样既可以分发指向辅助服务器场上的网站的主机文件,也可以使用辅助命名空间为辅助服务器场上要公开的每个 Web 应用程序定义专门的备用访问映射;例如,http://secondary.contoso.com 或 http://readonly.contoso.com。所公开的网站不会向用户公开写入功能。本文假定您正在运行 Office SharePoint Server 2007 SP2。有关详细信息,请参阅运行使用只读数据库的服务器场 (Office SharePoint Server)

备注

如果创建的辅助服务器场并不运行 Office SharePoint Server 2007 SP2,建议不要向用户公开任何网站。未安装 Office SharePoint Server 2007 SP2 的日志传送的服务器场为只读服务器场,但它不会对试图向网站写入数据的用户提供明确警告。有关将 Office SharePoint Server 与只读内容数据库结合使用中所发生问题的详细信息,请参阅知识库文章:将 Microsoft Windows SharePoint Services 与在 Microsoft SQL Server 中配置为只读的内容数据库结合使用 (https://go.microsoft.com/fwlink/?linkid=117362&clcid=0x804)。

日志传送拓扑

下图描述的方案中有两个数据中心和两个服务器场,它们都配置为使用日志传送。在此方案中,灾难恢复数据中心承载只读辅助服务器场。

故障转移前进行日志传送的服务器场

图中有两个逻辑服务器场,每个数据中心一个。这两个服务器场单独进行安装,具有独立的配置和管理中心内容数据库以及独立的共享服务提供程序 (SSP)。只有内容数据库和 SSO 数据库可以从主数据中心日志传送到辅助数据中心。SSP A 在主服务器场中提供搜索,SSP B 在辅助服务器场中提供搜索。配置数据库刷新脚本 (C) 在辅助服务器场上运行。如图中所示,在辅助环境中协调好这三个过程的时间安排以便它们不会发生重叠,这一点非常重要:

  1. 处理日志传送数据库

  2. 搜索爬网

  3. 配置数据库刷新脚本

可以在多个数据中心之间重复此拓扑,前提是对一个或多个其他数据中心配置了 SQL Server 日志传送。

使用 Office SharePoint Server 进行日志传送时的一般注意事项

本节介绍将日志传送与 Office SharePoint Server 2007 SP2 结合使用时的限制。

  • 默认情况下,日志传送的故障转移过程是手动过程。可以创建脚本使故障转移自动化。

  • 如果发生未计划的故障转移,可能会丢失一些数据,具体情况取决于日志传送的频率和故障时间。可能会丢失最后一次日志传送与发生故障前这段时间内的数据。

  • 不能将配置数据库日志传送到另一个服务器场,因为配置数据库包含特定于计算机的信息。必须以手动方式使这两个服务器场上的自定义项和配置设置保持相同。

  • 无法成功地将搜索数据库通过日志传送到辅助服务器场,因为搜索数据库、索引文件和 SSP 数据库必须保持同步。为了确保带有日志传送的数据库的故障转移服务器场上搜索的可用性,可以采用以下解决方案之一:

    • 配置并运行某个配置为在故障转移服务器场内提供搜索的 SSP。此解决方案可以在辅助服务器场运行后立即提供搜索可用性,它适用于大型文档集。本文介绍如何在故障转移服务器场内配置并运行搜索 SSP。

    • 使用 SharePoint 内置备份和恢复功能将 SSP 从主服务器场还原到故障转移服务器场。此解决方案在 SSP 已还原且搜索已对内容再次爬网之后提供搜索可用性。如果恢复 SSP 所需的时间间隔在服务器场的恢复时间目标内,您可能需要考虑此解决方案。本文未对此解决方案进行详细说明。有关如何备份和还原搜索 SSP 的详细信息,请参阅备份和还原 SSP (Office SharePoint Server 2007)

  • 如果在主服务器场中运行配置文件服务,则建议将辅助服务器场中的 SSP 配置为运行配置文件服务。若要使所有 SSP 上的配置文件保持同步,必须使用 Microsoft SharePoint 管理工具包 x86(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=151962&clcid=0x804)(该链接可能指向英文页面) 32 位版本或 Microsoft SharePoint 管理工具包 x64(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=142035&clcid=0x804)(该链接可能指向英文页面) 64 位版本中包含的用户配置文件复制引擎。有关详细信息,请参阅用户配置文件复制引擎 (Office SharePoint Server)

  • 不建议通过日志传送内容数据库和 SSO 数据库以外的数据库;例如,Microsoft Office Project Server 2007 数据库。对于前面没有提到的数据库,建议备份和还原到故障转移服务器场。

  • 添加到主服务器场的网站集不会自动添加到辅助服务器场上的配置数据库,必须使用 Stsadm 操作或脚本添加它们。有关示例脚本,请参阅创建脚本以刷新辅助服务器场配置数据库中的网站列表(刷新脚本)

必须将 Office SharePoint Server 的更新应用于主服务器场和辅助服务器场中的二进制文件,但也可以将其应用于主服务器场中的数据库,然后通过日志传送到辅助服务器场。本白皮书未对修补进行详细说明,但概括性地介绍了这一过程,如下所示:

  1. 暂停日志传送。

  2. 通过管理中心或脚本从辅助服务器场中的 Web 应用程序分离内容数据库。

  3. 更新这两个服务器场,先从主服务器场开始。

    Important重要说明:

    确保更新过程全部完成,并且在主服务器场和辅助服务器场上都更新成功。辅助服务器场上的数据库不通过更新过程进行更新,而是通过日志传送进行更新。

  4. 开始日志传送。

  5. 由于尝试将未更新的数据库附加到辅助服务器场会失败,并可能导致服务器场处于不受支持的状态,因此,请确保在辅助服务器场中附加日志传送的内容数据库之前完成了一个或两个日志传送周期。

    可选。也可以使用以下查询在附加数据库之前,确定是否已将主服务器场中的数据库架构完全复制到辅助服务器场。

    USE <contentdb>

    GO

    SELECT * FROM Versions

    该查询返回以下格式的版本号。

    00000000-0000-0000-0000-000000000000

    列表中最后一个版本是最新安装的 Office SharePoint Server 2007 版本。

    Important重要说明:

    Microsoft 通常不支持对 SharePoint 产品和技术所用的数据库运行查询。前面的查询是允许的例外情况,因为它处理数据库的相关元数据。直接查询可能会对系统性能和可靠性产生负面影响。有关直接更改数据库所产生的影响的详细信息,请参阅知识库文章支持对 Office Server 产品和 Windows SharePoint Services 所用数据库的更改 (https://go.microsoft.com/fwlink/?linkid=105589&clcid=0x804)

  6. 将日志传送的数据库附加到辅助服务器场。

使用 Office SharePoint Server 进行日志传送时的性能注意事项

分析要进行日志传送的数据量,以便为日志传送正确地设置备份、复制和还原作业时间间隔。要进行日志传送的数据量受内容数据库中日更改量的影响。根据我们的经验,一个典型服务器场每天会更改 2% 至 4%,但如果包括维护更改,高峰时段的更改水平可能会达到 5% 至 7%。若要确定系统中内容数据库中的更改量,请针对进行日志传送的每个内容数据库,计算给定时间间隔内事务日志备份中的总更改量,以及更改占主数据库大小的百分比。

我们发现,备份和复制许多小型事务日志比备份和复制少数大型事务日志更好。建议您计划日志备份时间,并频繁多次进行复制。而还原事务日志的次数可以不用那么频繁。刚开始,可能希望将备份和复制时间间隔设为 5 分钟,还原时间间隔设为 15 分钟。SQL Server 2008 提供使日志传送时间间隔少于一分钟的功能。有关详细信息,请参阅在 SQL Server 2008 中计划时间间隔少于一分钟的日志传送(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=151253&clcid=0x804)(该链接可能指向英文页面)

如果系统传送日志的时间一直超出创建新日志所需的时间,也就是说,如果一直落后于日志传送计划,那么,可能会遇到性能问题。这种问题可能是由吞吐量或延迟问题引起的。如果出现吞吐量和延迟问题,建议考虑将 Windows 分布式文件系统复制 (DFSR) 与运行于 Windows Server 2003 R2 上的 Active Directory 目录服务或运行于 Windows Server 2008 上的 Active Directory 域服务 (AD DS) 结合使用,以取代日志传送复制作业。有关如何使用 DFSR 的详细信息,请参阅 Microsoft Windows Server 2003 R2 分布式文件系统解决方案概述 (https://go.microsoft.com/fwlink/?linkid=150764&clcid=0x804) 和 Windows Server 2008 中的分布式文件系统循序渐进指南 (https://go.microsoft.com/fwlink/?linkid=150765&clcid=0x804)。

下图比较了可用于复制日志传送的事务日志的各种复制技术所提供的吞吐量。

复制过程吞吐量图表

SQL Server 2008 还提供压缩备份的功能,以减小要进行日志传送的文件的大小。有关详细信息,请参阅在 SQL Server 2008 中调整备份压缩性能 - 第 1 部分(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=151254&clcid=0x804)(该链接可能指向英文页面) 和调整备份压缩 - 第 2 部分(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=151255&clcid=0x804)(该链接可能指向英文页面)。

使用 Office SharePoint Server 进行日志传送时的安全注意事项

若要使用 Office SharePoint Server 2007 SP2 进行 SQL Server 日志传送,团队成员必须具有下列权限:

  • 若要将 Office SharePoint Server 2007 SP2 配置为具有日志传送功能,并执行本文中的过程,团队成员必须是 SharePoint 组“Farm Administrators”的成员。

  • 若要配置 SQL Server 日志传送并执行本文中相关过程,团队成员必须是每个服务器实例上的 sysadmin 固定服务器角色的成员。

数据库管理员设置日志传送的数据库时,将不会在日志传送的服务器上的 master 和 msdb 数据库中自动配置要用于 SharePoint 场的该日志已传送数据库的 SQL Server 登录名和权限。相反,您必须为所需的登录名配置权限。这些权限包括(但不限于):

  • 管理中心应用程序池帐户必须是 dbcreator 和 securityadmin 固定服务器角色的成员。

  • 所有应用程序池帐户以及搜索服务和默认内容访问帐户必须具有 SQL Server 登录名(尽管未将这些帐户分配给 SQL Server 固定服务器角色或固定数据库角色)。

  • SharePoint 组“Farm Administrators”的成员同时必须具有 SQL Server 登录名,并且必须与管理中心应用程序池帐户同属相同的角色。

建议您通过运行脚本将登录名和权限从主体服务器传输到镜像服务器。知识库文章 918992 如何在 SQL Server 2005 实例之间传输登录名和密码 (https://go.microsoft.com/fwlink/?linkid=122053&clcid=0x804) 中提供了示例脚本。有关如何在实例之间传输 SQL Server 元数据的更多常规信息,请参阅 SQL Server 联机丛书文章当数据库在其他服务器实例上可用时管理元数据 (https://go.microsoft.com/fwlink/?linkid=122055&clcid=0x804) 和知识库文章 321247 如何配置 SQL Server 日志传送的安全性 (https://go.microsoft.com/fwlink/?linkid=150830&clcid=0x804)。

日志传送配置中的备份和还原目录必须满足以下要求:

  • 若要成功完成备份作业,主服务器实例上的 SQL Server 服务帐户和备份作业的代理帐户(默认情况下为主服务器实例上 SQL Server 代理的帐户)必须对备份目录具有读/写权限。

  • 若要成功完成复制作业,复制作业的代理帐户(默认情况下为辅助服务器实例上 SQL Server 代理的帐户)必须对备份目录具有读取权限并对复制目录具有写入权限。

  • 若要成功完成还原作业,辅助服务器实例上的 SQL Server 服务帐户和还原作业的代理帐户(默认情况下为辅助服务器实例上 SQL Server 代理的帐户)必须对复制目录具有读/写权限。

辅助数据中心和服务器场的要求

我们对辅助数据中心中的环境作出了以下假设:

故障转移服务器场必须具有以下特征:

  • 必须在故障转移服务器场上安装和维护独立的配置数据库和独立的管理中心内容数据库,这意味着主服务器场中的所有配置更改都必须在故障转移服务器场中手动复制。

    配置数据库中存储的信息包括:

    激活的功能

    诊断日志记录设置

    管理员部署的表单模板

    电子邮件设置

    备用访问映射设置

    外部服务连接设置

    防病毒设置

    服务器场级别搜索设置

    应用程序池设置,包括服务帐户(以 Web 应用程序形式运行的所有帐户,包括爬网程序帐户和搜索帐户)

    HTML 查看器设置

    被阻止的文件类型

    回收站设置和其他 Web 应用程序常规设置

    内容部署设置

    计时器作业设置

    爬网程序影响规则

    使用分析处理设置

    数据库名称和位置

    Web 应用程序名称和数据库。务必记录与每个 Web 应用程序关联的内容数据库名称。

    默认配额模板

    工作流管理设置

    备注

    如果已经为主服务器场配置了备用访问映射,则需要以同样的方式在辅助服务器场上的故障转移点配置备用访问映射,这一点尤其重要。若要记录备用访问映射设置,请使用命令 stsadm -o enumalternatedomains 将其导出到文本文件。

  • 两个服务器场上都必须部署所有自定义项,如功能、解决方案、网站模板和第三方解决方案(如 IFilter)。建议将所有自定义项打包成解决方案,以便快速部署。有关详细信息,请参阅部署自定义项

  • 必须将内容数据库设置为使用完整恢复模式。有关如何为数据库设置恢复模式的信息,请参阅如何:查看或更改数据库的恢复模式 (SQL Server Management Studio) (https://go.microsoft.com/fwlink/?linkid=151701&clcid=0x804)。

  • 主服务器和辅助服务器必须运行 SQL Server 2005 或 SQL Server 2008 的同一版本。Standard Edition、Developer Edition 和 Enterprise Edition 中都提供了日志传送功能。

  • 如果计划向用户公开日志传送的辅助服务器场,请使用辅助命名空间为辅助服务器场配置备用访问映射;例如,http://secondary.contoso.com 或 http://readonly.contoso.com。有关详细信息,请参阅配置备用访问映射。故障转移时,可将此备用访问映射替换为与主服务器场相同的映射。

配置日志传送环境

本节提供配置日志传送的详细过程。

本节中的过程假定组织了解以下先决条件:

  • 如何部署 Office SharePoint Server

  • 如何设置应用程序池标识

  • 如何停止和启动搜索服务

  • 如何配置域名系统 (DNS) 以停止和开始接受流量

  • 如何使用主机文件启用和禁用本地网站

故障转移阶段由以下过程组成:

  • 准备主服务器场

  • 准备辅助服务器场

  • 配置日志传送

  • 将日志传送的数据库附加到辅助 SharePoint 场

  • 为辅助服务器场配置搜索和配置文件

  • 创建脚本以刷新辅助服务器场配置数据库中的网站列表(刷新脚本)

  • 协调日志传送作业、搜索爬网和刷新脚本的时间安排

  • 可选。维护辅助服务器场上的 SSO

  • 可选。向用户提供只读服务器场的访问权限

准备主服务器场

准备主服务器的步骤包括:

  1. 将 Web 应用程序上的应用程序池标识设置为在两个服务器场上都可用的域帐户。有关详细信息,请参阅更改 Web 应用程序的应用程序池标识 (Office SharePoint Server)

  2. 记录所有配置设置,以便将其应用于辅助服务器场。有关详细信息,请参阅准备备份和还原服务器场 (Office SharePoint Server 2007)。尤其要确保,通过将备用访问映射设置导出到文本文件来记录这些设置;使用命令 stsadm -o enumalternatedomains 导出设置。

  3. 记录所有自定义项。将自定义项打包成解决方案是将其重新应用于辅助服务器场最简单的方法。有关详细信息,请参阅部署自定义项

准备辅助服务器场

  1. 在辅助服务器场上安装并配置 Office SharePoint Server。有关详细信息,请参阅在服务器场环境中部署 Office SharePoint Server 2007

    建议如果有足够的设备,则配置与主服务器场中数量相同的前端 Web 服务器和数据库。如果设备不够,则可以在辅助服务器场中少使用一些服务器,但这样将无法处理与主服务器场相同的负载。

    确保主服务器场和辅助服务器场上的版本号和修补级别相同。有关详细信息,请参阅 SharePoint 产品和技术的更新资源中心(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=106182&clcid=0x804)(该链接可能指向英文页面)。

  2. 应用向主服务器场应用的所有配置和自定义项。有关详细信息,请参阅部署自定义项

  3. 创建主服务器场中所有 Web 应用程序的副本。确保使用的应用程序池标识与主服务器场中的 Web 应用程序所使用的相同。有关详细信息,请参阅创建和管理 Web 应用程序 (Office SharePoint Server)

  4. 禁用以下计时器作业。有关详细信息,请参阅管理 SharePoint 计时器作业 (Office SharePoint Server)

    批量工作流任务处理

    配置文件同步

    网站集:删除

    更改日志

    配置文件快速同步

    使用率分析

    数据库统计信息

    记录中心处理

    变体传播页面作业定义

    死网站删除

    回收站

    变体传播网站作业定义

    磁盘配额警告

    计划审批

    Windows SharePoint Services Watson 策略更新

    过期策略

    计划页面审阅

    工作流

    保留处理和报告

    计划取消发布

    工作流自动清理

    即时通知

    搜索和处理

    工作流故障转移

    信息管理策略

    共享服务提供程序同步作业

配置日志传送

可以使用 SQL Server Management Studio 或 Transact-SQL 配置日志传送。本文介绍如何使用 Management Studio。

在主服务器上配置日志传送

  1. 在主服务器场中的数据库服务器上打开 Management Studio。

  2. 在“对象资源管理器”导航窗格中,右键单击 Web 应用程序对应的内容数据库,指向“任务”,然后单击“传送事务日志”。

    此时将出现“数据库属性”对话框。

  3. 选择“将此数据库启用为日志传送配置中的主数据库”。

  4. 单击“备份设置”。

    此时将出现“事务日志备份设置”对话框。

    1. 在“备份文件夹的网络路径”中输入主服务器场中备份文件夹的路径。

    2. 为“删除文件,如果其保留时间超过”和“在以下时间内没有执行备份时报警”输入值。

    3. 查看“备份作业”部分列出的计划。如果需要自定义该计划,请单击“计划”。

      在日志传送作业按计划运行时开始记录,以便可以计划搜索爬网以及与爬网相关的其他批处理作业。

    4. 可选。如果要使用备份压缩,请查看“压缩”部分的设置。

    5. 单击“确定”。

  5. 在“数据库属性”对话框中的“辅助数据库”部分,单击“添加”。

    此时将出现“辅助数据库设置”对话框。

    • 单击“连接”,连接到要用作辅助服务器的 SQL Server 实例。默认情况下,辅助数据库的名称与主服务器中数据库的名称相同。

    • 在“初始化辅助数据库”选项卡上,选择“是,生成主数据库的完整备份,并将它还原到辅助数据库中(如果辅助数据库不存在,则创建它)”。

    • 在“复制文件”选项卡上的“复制文件的目标文件夹”框中,键入辅助服务器上要将事务日志备份复制到其中的文件夹的路径。

    • 在“还原事务日志”选项卡上的“还原备份时的数据库状态”部分,选择“备用模式”,并清除“在还原备份时断开数据库中用户的连接”。

    • 单击“确定”。

    • 建议将设置保存在脚本中。在“数据库属性”对话框中,单击“编写配置脚本”,然后单击“将配置脚本保存到文件”。

      此时将出现“另存为”对话框。输入要将文件保存到的文件夹,然后单击“确定”。

    • 单击“确定”。

      此时将一次性执行所有作业以初始化日志传送,并且这些作业将报告成功或失败。

  6. 对计划进行日志传送的所有数据库重复上面的过程。有关详细信息,请参阅如何启用日志传送 (SQL Server Management Studio) (https://go.microsoft.com/fwlink/?linkid=151644&clcid=0x804)。

可选。用 DFS 复制替换日志传送复制任务

  1. 为环境启用和配置 DFS 复制 (DFSR)。有关详细信息,请参阅复制 (https://go.microsoft.com/fwlink/?linkid=151670&clcid=0x804)。有关配置 DFS 复制的示例,请参阅 Windows Server 2008 中的分布式文件系统的循序渐进指南 (https://go.microsoft.com/fwlink/?linkid=150765&clcid=0x804)。

  2. 由于 DFSR 将用于传输,因此,必须为参与日志传送配置的每个数据库禁用日志传送复制作业。有关详细信息,请参阅如何禁用或启用作业 (SQL Server Management Studio) (https://go.microsoft.com/fwlink/?linkid=151673&clcid=0x804)

验证日志传送是否成功

  1. 在辅助服务器场中的数据库服务器上启动 Management Studio。

  2. 在“对象资源管理器”导航窗格中,验证所有日志传送的内容数据库是处于备用状态还是只读状态。

  3. 通过运行作业并记录其持续时间,确定平均每个日志传送作业在辅助服务器场上运行所花费的时间。有关详细信息,请参阅监视日志传送 (https://go.microsoft.com/fwlink/?linkid=151682&clcid=0x804)。

将日志传送的数据库附加到辅助 SharePoint 场

  1. 在 SharePoint 管理中心网站“快速启动”上的“管理中心”部分,单击“应用程序管理”。此时将打开“应用程序管理”页。

    在“SharePoint Web 应用程序管理”部分,单击“内容数据库”。

    此时将打开“管理内容数据库”页。

  2. 在“数据库名称”列中,单击要删除的内容数据库。此时将打开“管理内容数据库设置”页。

  3. 在“删除内容数据库”部分,选中“删除内容数据库”复选框,然后单击“确定”。

  4. 在“管理内容数据库”页上,单击“添加内容数据库”。此时将打开“添加内容数据库”页。

  5. 输入日志传送的内容数据库的相应数据库服务器和数据库名称,然后单击“确定”。

  6. 对要进行日志传送的所有数据库重复此过程。

    此时,您可以浏览辅助服务器场上的内容。

为辅助服务器场配置搜索和配置文件

配置辅助服务器场中的搜索,以符合灾难恢复方案的业务目标。最初,可能希望使用与主服务器场相同的爬网设置和爬网规则搜索相同的数据库。如果确定在计划爬网和日志传送时,无法使其不发生重叠,建议调整爬网包括的内容。例如,在故障转移前,可以只对那些包含对业务影响大的内容的数据库进行爬网,然后,在故障转移后,只对其他内容进行爬网。有关详细信息,请参阅限制或增加被爬网的内容的数量 (Office SharePoint Server)

  1. 配置搜索时,停止辅助服务器场上的 SQL Server 代理作业,以禁用日志传送。

  2. 配置辅助服务器场上的搜索。

    确定搜索爬网在辅助服务器场上花费的时间。可通过从主服务器场收集的数据估计辅助服务器场上所需的时间。

    Important重要说明:

    务必将搜索爬网安排在日志传送作业未运行的时段。有关详细信息,请参阅协调日志传送作业、搜索爬网和刷新脚本的时间安排

  3. 启动辅助服务器场上的 SQL Server 代理作业,以启用日志传送。

  4. 如果正在使用配置文件,并且故障转移 SSP 上的配置文件与主 SSP 上的配置文件不同步,那么,这些配置文件将处于首次导入时所处的状态。若要使所有 SSP 上的配置文件保持同步,请使用 Microsoft SharePoint 管理工具包 x86(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=151962&clcid=0x804)(该链接可能指向英文页面) 32 位版本或 Microsoft SharePoint 管理工具包 x64(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=142035&clcid=0x804)(该链接可能指向英文页面) 64 位版本中包含的用户配置文件复制引擎。有关详细信息,请参阅用户配置文件复制引擎 (Office SharePoint Server)

创建脚本以刷新辅助服务器场配置数据库中的网站列表(刷新脚本)

以下面的示例为模型创建刷新脚本,在主服务器场上添加或删除网站集后可以在辅助服务器场上运行该脚本。

在示例脚本中,将 <db_name1>、<URL> 以及 <db_name2>、<URL> 替换为日志传送的数据库的名称。

将分离节和附加节添加到每个日志传送的数据库的脚本中。

echo off

SET PATH=C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN;%PATH%

echo %time Shutting down the Osearch service…
SC config Osearch start= disabled
SC stop Osearch

echo %time Shutting down the SQL Server Agent service…
SC \\<SQL Server> config SQLSERVERAGENT start= disabled
SC \\<SQL Server>  stop SQLSERVERAGENT
f
echo %time About to refresh Site Map…

echo %time About to detach db <db_name1>
stsadm.exe -o deletecontentdb -url <URL> -databasename <db_name1>  -databaseserver <SQL_Server>
echo %time About to attach db <db_name1>
stsadm.exe -o addcontentdb -url <URL> -databasename <db_name1> -databaseserver <SQL_Server>

echo %time  About to detach db <db_name2>
stsadm.exe -o deletecontentdb -url <URL> -databasename <db_name2>  -databaseserver <SQL_Server>
echo %time  About to attach db <db_name2>
stsadm.exe -o addcontentdb -url <URL> -databasename <db_name2> -databaseserver <SQL_Server>

rem --:: repeat for all databases ::--

echo %time Restarting the Osearch service…
SC config Osearch start= demand
SC start Osearch

echo %time Restarting the SQL Server Agent service…
SC \\<SQL Server> config SQLSERVERAGENT start= demand
SC \\<SQL Server>  start SQLSERVERAGENT

echo on

协调日志传送作业、搜索爬网和刷新脚本的时间安排

  1. 确定平均每个日志传送作业在辅助服务器场上运行所花费的时间,以及确定要将作业安排在何时运行。

  2. 确定增量爬网在辅助服务器场上花费的时间,以及确定要将爬网安排在何时。可以根据主服务器场的爬网数据确定完成增量爬网所需的时间。有关计划增量爬网的详细信息,请参阅计划增量爬网 (Office SharePoint Server 2007)

  3. 如有可能,在计划日志传送作业和搜索爬网时,使其不发生重叠。

  4. 如果在计划日志传送和增量搜索爬网时无法使其不发生重叠,请从下列选项中进行选择:

    • 手动运行日志传送作业和搜索爬网,在运行一组作业时挂起另一组作业。

    • 使搜索爬网的优先级高于日志处理,并创建一个脚本,以在爬网程序进程不运行时自动启动日志传送。

    • 如果数据库中唯一活动的进程是爬网程序进程,则将日志传送配置为一直等到数据库不使用时,再处理已传送的日志。

    如果上面这些选项都不适用,并且如果在计划要进行日志传送的数据量和爬网时间时,无法使日志传送和爬网不发生重叠,请考虑删减某些操作,以使系统正常工作;例如,如果无法在可用时间内既完成日志传送又完成搜索,则在故障转移前,只对那些对业务影响大的内容数据库进行爬网,在故障转移后,开始对其他内容进行爬网。

  5. 计划刷新脚本的运行时间。如果没有向主服务器场添加新的网站集,则不需要运行刷新脚本。如果添加了新网站集,则必须使用 Windows 任务计划程序定期运行刷新脚本。刷新脚本运行时,将挂起爬网程序进程和日志传送进程。有关计划任务的详细信息,请参阅计划任务 (https://go.microsoft.com/fwlink/?linkid=151894&clcid=0x804)。

    如果在刷新脚本运行时取消了它,建议您手动运行该脚本,以确保重新附加所有数据库并重新启动所有服务。

可选。维护辅助服务器场上的 SSO

  • 在最初设置 SSO 之后备份加密密钥,然后在每次重新生成它时再次对其进行备份。有关详细信息,请参阅备份 SSO (Office SharePoint Server 2007)

    注意备份加密密钥时的以下限制:

    • 您必须是 SSO 管理员帐户的成员,才能备份加密密钥。

    • 加密密钥无法远程备份。您必须以本地方式登录到加密密钥服务器才能备份加密密钥。

    • 必须将包含 SSO 加密密钥的可移动存储设备实际传输到辅助服务器场,然后对其进行还原。

可选。向用户提供只读服务器场的访问权限

  1. 如有可能,向用户提供已更新的主机文件,这些文件指向辅助服务器场上要公开的 Web 应用程序。

  2. 如果无法分发主机文件,则为要公开的每个 Web 应用程序定义专门的备用访问映射(如 http//readonly.contoso.com 或 http://secondary.contoso.com),然后在 DNS 中配置该映射。

    备注

    如果没有多余的空间来为某个特定 Web 应用程序定义备用访问映射,则此专用映射选项不可行。

故障转移

可以手动执行故障转移,也可以对其编写脚本。本文只介绍手动故障转移。

下图演示的是已进行故障转移的多服务器场环境。日志传送被中止,服务器场管理员执行了以下操作:

  • 将 DNS 设置为停止接受进入主服务器场的流量。

  • 向辅助服务器上的数据库应用了未应用的事务日志。

  • 将辅助服务器场中的内容数据库转换为可读/写。

  • 在辅助服务器场中将 DNS 设置为接受流量。

故障转移后传送完日志的服务器场

备注

本节介绍如何执行完整(非测试)故障转移。有关如何测试故障转移的信息,请参阅测试故障转移时的注意事项

故障转移阶段由以下过程组成。

  • 禁用主服务器场中的所有日志传送作业

  • 停止接受进入主服务器场的流量

  • 备份主服务器上的事务日志

  • 将最新事务日志还原到辅助服务器

  • 将内容数据库设置为读/写

  • 可选。还原 SSO 加密密钥

  • 将流量定向至辅助服务器场

  • 完成辅助环境的配置

禁用主服务器场中的所有日志传送作业

  1. 如果主服务器场仍然可用,并且日志传送尚未停止,请禁用主服务器场中数据库服务器上的所有日志传送作业。

  2. 如果无法访问服务器上的数据库,请对每个数据库执行下面的 Transact-SQL 语句,然后跳至以下步骤:将内容数据库设置为读/写

    RESTORE DATABASE content_db WITH RECOVERY
    

停止接受进入主服务器场的流量

备份主服务器上的事务日志

  1. 确定主服务器场是否仍然可用,以及两个服务器场是否都可以访问存储备份的网络共享文件夹。如果不符合这些条件,请转到以下步骤:将内容数据库设置为读/写。

  2. 在 Management Studio 的“对象资源管理器”导航窗格中,右键单击内容数据库,指向“任务”,然后单击“备份”。此时将出现“备份数据库”对话框。

  3. 单击“备份类型”下拉列表,选择“事务日志”。

  4. 在“选择网页”窗格中,单击“选项”。

  5. 在“事务日志”部分,选择“备份日志尾部并使数据库处于还原状态”,最后单击“确定”。

  6. 对所有日志传送数据库重复此过程。

将最新事务日志还原到辅助服务器

  1. 此过程只有在以下条件下有用:主服务器场仍然可用,并且两个服务器场都可以访问存储备份的网络共享。如果不符合这些条件,请转到过程将内容数据库设置为读/写。

    在辅助服务器上的 Management Studio 中,右键单击内容数据库,指向“任务”,单击“还原”,然后单击“事务日志”。此时将出现“还原事务日志”对话框。

  2. 在“常规”选项卡上,选择“从文件和磁带”,输入在主服务器上创建的备份文件的路径。

  3. 在“恢复状态”部分,选择“回滚未提交的事务,使数据库处于可以使用的状态。无法还原其他事务日志。(RESTORE WITH RECOVERY)”,然后单击“确定”。

  4. 对所有日志传送的数据库重复此过程。

将内容数据库设置为读/写

在将辅助服务器场中的数据库转换为读/写后,需要从辅助服务器上的新备份文件重新建立日志传送,该备份文件随后将复制到主服务器。

  1. 在 Management Studio 中,右键单击要转换为读/写的内容数据库,然后单击“属性”。此时将出现“数据库属性”对话框。

  2. 在“选择页”窗格中,单击“选项”,在“其他选项”列表中,滚动到“状态”部分。

  3. 在“数据库为只读”条目上,单击“True”旁边的箭头,选择“False”,然后单击“确定”。

  4. 对所有其他内容数据库重复此过程。

可选。还原 SSO 加密密钥

  1. 在辅助服务器场上,重启 SSO 服务。

  2. 在辅助服务器上配置 SSO。

  3. 在辅助服务器场上,重启 SSO。

  4. 从可移动驱动器中还原密钥。

  5. 创建应用程序定义,以验证是否可以创建新应用程序定义。

  6. 验证是否可使用 GetCredentials 方法获取各种应用程序的凭据。有关详细信息,请参阅 ISsoProvider.GetCredentials 方法 (Microsoft.SharePoint.Portal.SingleSignon) (https://go.microsoft.com/fwlink/?linkid=151824&clcid=0x804)。

将流量定向至辅助服务器场

  1. 验证辅助服务器场上的备用访问映射设置是否与主服务器场中的设置匹配。

  2. 对 DNS 执行建议的过程,以将流量定向至辅助服务器场。

    备注

    在将 DNS 上的流量转移到辅助服务器场后,用户可能需要关闭然后重新打开其浏览器,以使重定向操作生效。

完成辅助环境的配置

  1. 建立常见维护流程。

    • 设置监视。

    • 实施生产级别的备份流程。

  2. 开始还原以前的主环境。

故障转移测试注意事项

测试故障转移时,应清楚服务级别协议要求执行的故障转移测试的级别。以下是故障转移测试的一些常见示例。

Verification that the secondary site is live, and is being crawled   对于此故障转移测试类型,可以向用户提供辅助服务器场的主机文件路径或备用访问映射路径,这样他们可以验证服务器场是否处于活动的、最新的状态。无需任何附加步骤。

Farm failover   在此类测中,主服务器场将在一段短暂的已知时间内处于关闭状态,但辅助服务器场未转换为读/写状态。对于此类测试,请遵循故障转移一节中的过程,除了以下不同:

故障转移测试步骤 说明

执行

1. 若要开始故障转移测试,请在辅助服务器场上停止 SQL Server 代理作业,以便停止处理任何日志。

不执行

2. 禁用主服务器场中的所有日志传送作业

执行

3. 停止接受进入主服务器场的流量

执行

4. 备份主服务器上的事务日志。

执行

5. 将最新事务日志还原到辅助服务器。

不执行

6. 将内容数据库设置为读/写。

不执行

7. 可选。还原 SSO 加密密钥

执行

8. 将流量定向至辅助服务器场

不执行

9. 完成辅助环境的配置。

Planned data center failover with additional precautions   在此类测试中,主数据中心将在一段已知时间内处于关闭状态。辅助服务器场转换为读/写状态。对于此类测试,请遵循故障转移一节中的过程,除了以下不同:

故障转移测试步骤 说明

执行

1. 若要开始故障转移测试,请在辅助服务器场上停止 SQL Server 代理作业,以便停止处理任何日志。

执行

2. 禁用主服务器场中的所有日志传送作业

执行

3. 停止接受进入主服务器场的流量

执行

4. 备份主服务器上的事务日志。

执行

5. 将最新事务日志还原到辅助服务器。

执行

6. 将内容数据库设置为读/写。

执行

7. 可选。还原 SSO 加密密钥

执行

8. 将流量定向至辅助服务器场

不执行

9. 完成辅助环境的配置。

新增步骤

10. 保留辅助服务器场上的所有日志传送的备份,以便您可以使用辅助服务器场中的数据库备份重启日志传送

Planned data center failover without additional precautions   在此类测试中,主数据中心将在一段已知时间内处于关闭状态,以确定真正恢复所需的时间。可能会出现数据丢失的情况。辅助服务器场转换为读/写状态。对于此类测试,请遵循故障转移一节中的过程。

故障转移测试步骤 说明

执行

1. 开始之前,备份主服务器场上的日志传送数据库,这样就有现有的备份可用来重启日志传送。

执行

2. 禁用主服务器场中的所有日志传送作业

执行

3. 停止接受进入主服务器场的流量

执行

4. 备份主服务器上的事务日志。

执行

5. 将最新事务日志还原到辅助服务器。

执行

6. 将内容数据库设置为读/写。

执行

7. 可选。还原 SSO 加密密钥

执行

8. 将流量定向至辅助服务器场

不执行

9. 完成辅助环境的配置。

重新配置日志传送

如果辅助服务器场运行正常,原始主数据库可访问,并且已调查并解决该主服务器场的问题,那么,您可以将以前的主数据库转变为新辅助数据库,或者,在经过慎重考虑后,从辅助服务器场故障转移到以前的主服务器场,然后以最初的配置方式重新配置日志传送。

  1. 在辅助服务器场和主服务器场之间配置日志传送。在辅助服务器场上的 SQL Server 实例与主服务器场上的相应实例之间建立日志传送关系。有关详细信息,请参阅配置日志传送环境一节。

  2. 在主服务器场上,向每个数据库应用任何未应用的事务日志备份。

  3. 使用 DNS 停止接受辅助服务器场上的流量。

  4. 从辅助服务器场故障转移到原始主服务器场。有关详细信息,请参阅故障转移一节,然后重新配置日志传送。

  5. 可选。使用媒体上的加密密钥的本地副本还原 SSO。

  6. 重新建立主服务器场,验证一切都按预期方式运行,然后更改 DNS 以将传入流量定向到主服务器场。

  7. 重新配置从主服务器场到辅助服务器场的日志传送。

小结

使用日志传送功能在辅助数据中心提供灾难恢复场的过程很复杂。请确保与用户签订了明确的服务级别协议,并定期测试环境。

致谢

Microsoft Office SharePoint Server 内容发布团队谨向以下投稿者和技术审阅者致谢:

  • SharePoint 客户咨询团队高级项目经理 Doron Bar-Caspi

  • SQL Server 客户计划主要项目经理负责人 Lindsay Allen

  • SQL Server 客户计划高级项目经理 Sanjay Mishra

  • SQL Server 客户计划高级项目经理 Burzin Patel

  • Microsoft SharePoint Online 技术架构师 Bill Baer

  • Microsoft SharePoint Online 操作工程师 Cory Burns

  • 高级架构师 Steve Peschka

  • Microsoft 加拿大咨询服务部门资深顾问 JP Poissant