使用 SQL Server 数据库映射配置可用性 (SharePoint Server 2010)

 

适用于: SharePoint Foundation 2010, SharePoint Server 2010

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

本文介绍如何使用高可用性数据库镜像在 Microsoft SharePoint Server 2010 的服务器场内配置可用性。阅读本文的前提是您已熟悉规划可用性 (SharePoint Server 2010) 中的概念和术语。

Microsoft SQL Server 数据库镜像通过直接从主体数据库和服务器将事务发送至镜像数据库和服务器(当主体数据库的事务日志缓冲区写入磁盘时)来提供可用性支持。为了获得 Microsoft SharePoint Server 2010 服务器场内的可用性,您可以使用高可用性数据库镜像,也称为带有自动故障转移功能的高安全性模式。高可用性数据库镜像包含三个服务器实例:主体、镜像和见证。利用见证服务器,SQL Server 可以自动完成从主体服务器到镜像服务器的故障转移。从主体数据库到镜像数据库的故障转移通常需要几秒钟时间。

在 SharePoint Server 2010 服务器场内,镜像可以为内容数据库和配置数据库以及许多服务数据库提供冗余。即使将多个数据库镜像到同一台服务器,每个数据库也会单独进行故障转移。下图显示如何配置镜像,以便在 SharePoint Server 2010 服务器场内提供可用性。

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

SharePoint Server 2010 是可以识别镜像的。若要在您的环境中使用镜像,必须先配置镜像,然后在 SharePoint Server 中设置故障转移数据库值。

本文内容:

  • 开始之前

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

  • 将 Sharepoint 2010 产品配置为能够识别镜像数据库

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

开始之前

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

数据库镜像要求

针对 SharePoint Server 环境开始配置数据库镜像之前,请先熟悉以下列表中的建议,并确保数据库和系统满足以下所有要求:

  • 我们建议您的系统延迟不超过 1 毫秒。

  • 系统带宽最好是每秒 1 GB。

  • 日志会在主体服务器和镜像服务器间实时复制,并且复制会影响性能。请确保主体服务器和镜像服务器上都有足够的内存和带宽。

  • 主体服务器和镜像服务器必须运行相同版本的 SQL Server。数据库镜像只在 Standard Edition、Developer Edition 和 Enterprise Edition 中可用。见证服务器可以运行包括 SQL Server 2008 Express 在内的任何版本的 SQL Server。

  • 只有使用完全恢复模式的数据库才能使用镜像功能。

    默认情况下,SharePoint Server 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)(该链接可能指向英文页面)。

product logo for Microsoft Project   如果您要为 Microsoft Project Server 2010 数据库配置镜像,则请参阅Configure availability by using SQL Server database mirroring (Project Server 2010) 以获取特定于 Project Server 的信息。

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

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

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

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

当您设置镜像数据库时,与 SharePoint 场一起使用的数据库的 SQL Server 登录名和权限不会在镜像服务器上的“master”和“msdb”数据库中自动配置。相反,您必须为所需的登录名配置权限,包括(但不限于)以下各项权限:

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

  • 所有应用程序池帐户、默认的内容访问帐户和服务应用程序需要的任何帐户都应具有 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 Server 2010 兼容。

除 Web Analytics 临时数据库和 User Profile 同步数据库之外,支持的拓扑还包括镜像所有内容数据库、配置数据库、管理中心内容数据库和服务应用程序数据库。

备注

建议您不要镜像 Usage and Health Data Collection 记录数据库。即使该数据库出现故障,SharePoint 环境依然可以继续运行,而且可以快速地重新生成这些数据。

不要使用没有匹配的主体服务器和数据库实例与镜像服务器和数据库实例的拓扑。此外,请将配置数据库和管理内容数据库保存在同一台服务器上。

配置高可用性数据库镜像

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

将 Sharepoint 2010 产品配置为能够识别镜像数据库

若要使 SharePoint Server 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

数据库镜像