使用 SQL Server 数据库镜像配置可用性 (SharePoint Foundation 2010)

 

适用于: SharePoint Foundation 2010

上一次修改主题: 2016-11-30

本文介绍如何使用高可用性数据库镜像在 Microsoft SharePoint Foundation 2010 的服务器场中配置可用性。本文假定您对规划可用性 (SharePoint Foundation 2010) 中涉及的概念和术语非常熟悉。

通过在将主体数据库的事务日志缓冲区写入磁盘时将事务直接从主体数据库和服务器发送到镜像数据库和服务器,Microsoft SQL Server 数据库镜像能够提供可用性支持。对于 Microsoft SharePoint Foundation 2010 服务器场中的可用性,可使用高可用性数据库镜像(也称为具有自动故障转移功能的高安全性模式)。高可用性数据库镜像涉及三个服务器实例:主体、镜像和见证。见证服务器使 SQL Server 能够从主体服务器自动故障转移到镜像服务器。完成从主体数据库故障转移到镜像数据库这一过程通常需要数秒时间。

在 SharePoint Foundation 2010 服务器场中,镜像可为内容和配置数据库以及众多服务数据库提供冗余,即使将数据库镜像到同一台服务器且每个数据库都进行单独的故障转移也是如此。下图演示了如何在 SharePoint Foundation 2010 服务器场中配置镜像以提供可用性。

服务器场中所有数据库的镜像关系图

SharePoint Foundation 2010 具有镜像感知功能。若要在您的环境中使用镜像,请首先配置镜像,然后在 SharePoint Foundation 中设置故障转移数据库值。

本文内容:

  • 开始之前

  • 配置高可用性数据库镜像

  • 配置 SharePoint 2010 产品以识别镜像数据库

  • 故障转移期间的用户体验

开始之前

开始配置镜像之前,应确保您的数据库管理员了解下列要求和受支持的拓扑。

数据库镜像要求

熟悉以下列表中的建议,并在为 SharePoint Foundation 环境配置数据库镜像之前,确保您的数据库和系统满足所有要求:

  • 建议系统延迟时间不要超过 1 毫秒。

  • 系统带宽最好为 1 GB/秒。

  • 在主体服务器和镜像服务器之间对日志进行实时复制,但复制会影响性能。确保主体服务器和镜像服务器均具有足够的内存和带宽。

  • 主体服务器和镜像服务器必须运行相同版本的 SQL Server 且运行语言必须相同。数据库镜像仅在 Standard、Developer 和 Enterprise 版本中可用。见证服务器可运行任意版本的 SQL Server,包括 SQL Server 2008 Express。

  • 镜像操作仅对采用完整恢复模式的数据库有效。

    默认情况下,SharePoint Foundation 2010 数据库配置为使用简单恢复模式。要配置数据库镜像,必须将该数据库的恢复模式设为“完整”。有关如何设置数据库恢复模式的信息,请参阅如何:查看或更改数据库的恢复模式 (SQL Server Management Studio) (https://go.microsoft.com/fwlink/?linkid=132075&clcid=0x804)。

  • 如果您计划对数据库进行镜像,则需要考虑这些数据库的事务日志可能会变得非常大。为解决此问题,您可以制定一个在需要时截断事务日志的恢复计划。有关详细信息,请参阅以下 Microsoft 知识库文章:如何防止 SQL Server 数据库的事务日志异常增长 (https://go.microsoft.com/fwlink/?linkid=111458&clcid=0x804)。

  • 每个数据库镜像会话会为每个数据库至少创建两个线程。确保您的数据库服务器具有可分配的足够线程,以便对受支持的所有数据库进行镜像。如果线程不足,那么在向会话中添加更多数据库时会导致性能下降。

有关数据库镜像性能的详细信息,请参阅数据库镜像最佳做法和性能注意事项(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=185119&clcid=0x804)(该链接可能指向英文页面)。

与数据库镜像关联的安全性

数据库镜像使用 TCP 会话将事务日志从一台服务器传输至另一台服务器,并监视系统的当前运行状况以实现自动故障转移。在打开端口进行连接时,将在会话级别进行身份验证。数据库镜像支持 Windows 身份验证(NTLM 或 Kerberos)和证书。

除非网络是安全的,否则应对会话期间传输的数据进行加密。数据库镜像支持高级加密标准 (AES) 和 RC4 加密算法。有关与数据库镜像相关的安全性的详细信息,请参阅数据库镜像传输安全性 (https://go.microsoft.com/fwlink/?linkid=83569&clcid=0x804)。

SharePoint 2010 产品安全性和镜像服务器

建立镜像数据库时,不会在镜像服务器的数据库和 msdb 数据库中自动配置用于 SharePoint 场的数据库的 SQL Server 登录名和权限。您必须为所需登录名配置相应权限,其中包括但不限于以下方面:

  • 管理中心应用程序池帐户应为 dbcreatorsecurityadmin 固定服务器角色的成员。

  • 所有应用程序池帐户、默认内容访问帐户以及服务应用程序所需的全部帐户均应具有 SQL Server 登录名,但不应将它们分配给 SQL Server 固定服务器或固定数据库角色。

  • SharePoint 组“Farm Administrators”的成员还应具有 SQL Server 登录名,并应该与管理中心应用程序池帐户一样,均为同一 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)。

受支持的拓扑

建议在主体服务器和数据库实例与镜像服务器和数据库实例之间保持一对一映射关系,以确保与 SharePoint Foundation 2010 兼容。

受支持的拓扑包括镜像所有内容数据库、配置数据库、管理中心内容数据库和服务应用程序数据库,但不镜像 Web Analytics 临时数据库和用户配置文件同步数据库。

备注

不建议镜像 Usage and Health Data Collection 日志记录数据库。如果该数据库出现故障,SharePoint 环境可继续运行,并且可以快速重新生成相关数据。

避免主体服务器和数据库实例与镜像服务器和数据库实例不匹配的拓扑。此外,应确保配置数据库和管理内容数据库位于同一服务器上。

配置高可用性数据库镜像

建议 SQL Server 数据库管理员为生产环境配置高可用性镜像。对于测试环境,我们为您提供了可用于配置该环境的 Transact-SQL 脚本,有关详细信息,请参阅用于配置 SQL Server 镜像的示例脚本 (SharePoint Foundation 2010)

配置 SharePoint 2010 产品以识别镜像数据库

要使 SharePoint Foundation 2010 能够识别已存在的故障转移镜像数据库,请对所有配置和内容数据库执行以下过程。

备注

建议使用 Windows PowerShell cmdlet 来设置故障转移数据库的值。虽然您可以使用管理中心网站来设置一些故障转移数据库的值,但无法将其用于所有数据库。

使用 Windows PowerShell 将 SharePoint 2010 产品配置为能够识别镜像数据库

  1. 验证您是否满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 在 Windows PowerShell 命令提示符处,键入以下命令,然后按 Enter:

    $db = get-spdatabase | where {$_.Name -eq " 数据库名称 "}

    $db.AddFailoverServiceInstance(" 镜像数据库名称 ")

    $db.Update()

有关详细信息,请参阅 Get-SPDatabase

故障转移期间的用户体验

在将 SQL Server 切换为使用镜像数据库时,运行该数据库的 SharePoint 网站用户可能会面临短暂的连接问题和数据丢失问题。

监控镜像和解决镜像问题

要监控服务器场中镜像的状态和性能,数据库管理员可使用数据库镜像监视器。通过监控,您能够确定数据库镜像会话中是否存在数据流及其状态。数据库镜像监视器还可用于解决数据流减少问题。有关详细信息,请参阅数据库镜像监视器概述 (https://go.microsoft.com/fwlink/?linkid=185068&clcid=0x804)。用于排查问题的另一个资源是 SQL Server 联机丛书文章排查数据库镜像设置问题 (https://go.microsoft.com/fwlink/?linkid=185069&clcid=0x804)。

See Also

Other Resources

数据库镜像