如何:在主体服务器不可用时故障转移到镜像数据层服务器

更新:2007 年 11 月

如果已经为 Team Foundation 依赖的数据库配置了 SQL Server 镜像,则即使主体服务器不可用,也可以故障转移到镜像数据层服务器。此方法有助于最大限度地减少 Team Foundation Server 部署的中断。有关更多信息,请参见镜像 Team Foundation 数据层服务器和 Microsoft 网站上的“实现 SQL Server 数据库还原方案”(SQL Server 2005SQL Server 2008)。

重要说明:

应仅在主体数据层服务器不可用时执行本主题中的过程。如果主体服务器可用,则应遵循如何:故障转移到镜像数据层服务器中的过程。有关更多信息,请参见 Microsoft 网站上的“强制服务(可能造成数据丢失)”(SQL Server 2005SQL Server 2008)。

若要在主体服务器不可用时故障转移到镜像数据层服务器,必须执行以下过程:

  1. 停止 Team Foundation Server 使用的服务

  2. 手动交换主体数据库和镜像数据库的角色

  3. 重定向 SQL Server Reporting Services 以连接到镜像数据层服务器

  4. 将应用层服务器映射到新的主体数据层服务器

  5. 重新生成 Team System 多维数据集

  6. 删除版本控制缓存

  7. 为团队项目重定向网站

  8. 重新启动服务

  9. (可选)刷新客户端计算机上的数据缓存

必需的权限

若要执行这些过程,您必须是主体和镜像服务器上“Administrators”组和 SQL Server“Administrators”组的成员。有关更多信息,请参见 Team Foundation Server 权限

除了这些权限,对于运行 Windows Server 2008 或 Windows Vista 的计算机,您可能还需要满足以下要求:

  • 若要使用命令行过程,您可能需要通过以下操作使用提升的权限打开命令提示符窗口:单击“开始”,右击“命令提示符”,再单击“以管理员身份运行”。

  • 若要使用需要 Internet Explorer 的过程,您可能需要通过以下操作以管理员身份启动 Internet Explorer:单击“开始”,单击“所有程序”,右击“Internet Explorer”,再单击“以管理员身份运行”。

  • 若要编辑 web.config 文件,您可能需要通过以下操作以管理员身份启动文本编辑器:单击“开始”,单击“所有程序”,右击所需编辑器,再单击“以管理员身份运行”。

  • 若要访问 SQL Server Reporting Services 的报表管理器、报表或网站,您可能需要将这些网站添加到 Internet Explorer 的受信任站点列表中,或者以管理员身份启动 Internet Explorer。

有关更多信息,请参见 Microsoft 网站

停止 Team Foundation Server 使用的服务

在故障转移到镜像服务器之前,必须准备应用层服务器以使用镜像数据层服务器。

说明:

在单服务器部署中,您登录到运行 Team Foundation Server 的服务器来停止和启动所有服务、应用程序池和网站。在双服务器部署中,您必须登录到承载 Team Foundation Server 的特定服务、应用程序池和网站的相应服务器。有关更多信息,请参见如何:停止和启动服务、应用程序池和网站

停止 Team Foundation Server 使用的服务

  • 登录到相应服务器,打开“计算机管理器”,停止下表中的服务和网站:

    登录到承载此程序的服务器

    停止此组件

    SharePoint 产品和技术

    • 默认网站或团队网站

    • SharePoint 定时服务或 Windows SharePoint Services 定时

    Reporting Services

    • SQL Server Reporting Services (TFS 实例)

    • ReportServer 或 ReportServer$实例名称(应用程序池)

    • 默认网站或报表管理器网站

      说明:

      对于 SQL Server 2005,必须停止报表服务器网站和应用程序池,而对于 SQL Server 2008 则不必如此。

    应用层

    • Visual Studio Team Foundation Server 任务计划程序服务

    • Microsoft Team Foundation Server Application Pool

手动交换主体数据库和镜像数据库的角色

停止服务后,可以手动故障转移数据库。有关更多信息,请参见 Microsoft 网站上的“如何对数据库镜像会话进行手动故障转移 (SQL Server Management Studio)”(SQL Server 2005SQL Server 2008)。

在镜像服务器上打开 SQL Server Management Studio

  1. 在镜像服务器上,单击“开始”,指向“所有程序”,指向“Microsoft SQL Server”,再单击“SQL Server Management Studio”。

    说明:

    有关更多信息,请参见 Microsoft 网站上的“实现 SQL Server 数据库还原方案”(SQL Server 2005SQL Server 2008)。

    “连接到服务器”对话框打开。

  2. 在“服务器类型”中单击“数据库引擎”。

  3. 在“服务器名称”中,单击或键入数据层服务器和数据库实例的名称,然后单击“连接”。

    SQL Server Management Studio 打开。

  4. 在“对象资源管理器”中,展开“数据库”节点,以显示构成数据层的数据库的列表。

对下面列表中的每个数据库完成本主题后面的“强制服务故障转移到镜像数据层服务器”过程:

  • ReportServer

    说明:

    如果使用了命名实例,此数据库将命名为“ReportServer$实例名称”。

  • ReportServerTempDB

    说明:

    如果您使用的是命名实例,则此数据库将命名为“ReportServerTempDB$实例名称”。

  • 以下用于 SharePoint 产品和技术的数据库(前提是部署对 SharePoint 产品和技术和 Team Foundation Server 使用相同的数据层服务器):

    • SharePoint 产品和技术的管理内容数据库 (WSS_AdminContent)

    • SharePoint 产品和技术的配置数据库(STS_Config_TFS 或 WSS_Config)

    • SharePoint 产品和技术的内容数据库(STS_Content_TFS 或 WSS_Content)

      说明:

      包含 SharePoint 产品和技术数据的数据库的名称将随着两个因素而变化:一是所安装的 SharePoint 产品和技术的版本,二是安装人员是否对该名称进行了自定义。此外,如果 SharePoint 产品和技术安装在与 Team Foundation Server 不同的服务器上,则这些数据库可能不在数据层服务器上。如果它们在其他服务器上,则必须从 Team Foundation Server 分别管理它们的备份、还原和配置。但是,您应该同步数据库的维护操作以避免同步错误。

  • TfsActivityLogging

  • TfsBuild

  • TfsIntegration

  • TfsVersionControl

  • TfsWarehouse

  • TfsWorkItemTracking

  • TfsWorkItemTrackingAttachments

强制服务故障转移到镜像数据层服务器

  1. 在 SQL Server Management Studio 中,打开“文件”菜单,指向“新建”,再单击“使用当前连接查询”。

    将打开一个新的查询窗口。

  2. 在该窗口中,键入下面的命令,其中数据库 为 Team Foundation 数据库的名称:

    ALTER DATABASE数据库SET PARTNERFORCE_SERVICE_ALLOW_DATA_LOSS

  3. 在工具栏上单击“执行”。

重定向 SQL Server Reporting Services 以连接到镜像数据层服务器

重定向 Reporting Services 以连接到镜像数据层服务器

将应用层服务器映射到新的主体数据层服务器

在对所有数据库都进行了故障转移并删除版本控制缓存之后,镜像数据层服务器变成该部署的主体数据层服务器。若要完成故障转移,必须将应用层服务器重定向到当前主体数据层服务器。

重定向应用层服务器

  1. 登录到相应的服务器,打开“计算机管理器”,按照指定的顺序启动下表中的组件:

    登录到承载此程序的服务器

    启动此组件

    应用层

    • Microsoft Team Foundation Server Application Pool

    Reporting Services

    • ReportServer 或 ReportServer$实例名称(应用程序池)

      说明:

      如果您运行的是 SQL Server 2005,则必须在 Internet 信息服务 (IIS) 中启动 Report Server 应用程序池,而如果运行的是 SQL Server 2008,则不必如此。

    • SQL Server Reporting Services (TFS 实例)

  2. 打开命令提示符窗口,将目录切换到 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools,然后键入以下命令:

    TfsAdminUtil RenameDT newTeamFoundationDataTierServerName

    重要说明:

    若要使 RenameDT 命令成功,上一步中的应用程序池和程序必须正在运行。此要求是 Visual Studio Team System 2008 Team Foundation Server 中新增的。

  3. 键入 iisreset,然后按 Enter 来重新启动 Internet 信息服务 (IIS)。

重新生成 Team System 多维数据集

重新生成 Team System 多维数据集

删除版本控制缓存

重新生成 Team System 多维数据集后,必须删除应用层服务器和任何代理服务器上的版本控制缓存,以强制与新的数据层服务器同步。

删除版本控制缓存

  1. 登录到应用层服务器上,打开下面的目录:

    驱动器:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl

  2. 删除 Data 子目录的内容,但不删除子目录本身。

    有关更多信息,请参见如何:在应用层服务器上删除版本控制缓存

  3. 对部署中运行 Team Foundation Server Proxy 的任何服务器重复此过程。

为团队项目重定向网站

重定向项目站点以使用镜像数据层服务器上的内容数据库

重新启动服务

重新启动 Team Foundation Server 使用的服务

  1. 登录到相应的服务器,打开“计算机管理器”,按照指定的顺序启动下表中的服务:

    登录到承载此程序的服务器

    启动此服务

    SharePoint 产品和技术

    • SharePoint 定时服务或 Windows SharePoint Services 定时

    • 默认网站或团队网站

    应用层

    • Visual Studio Team Foundation Server 任务计划程序服务

    • Microsoft Team Foundation Server Application Pool

    Reporting Services

    • SQL Server Reporting Services (TFS 实例)

    • ReportServer 或 ReportServer$实例名称(应用程序池)

      说明:

      如果运行的是 SQL Server 2005,则必须在 IIS 中启动 Report Server 应用程序池,而如果运行的是 SQL Server 2008,则不必如此。

    • 默认网站或报表管理器网站

  2. 打开 Internet Explorer,在地址栏中键入下面的字符串,验证团队项目门户是否可用:

    http://SharePointServices 服务器名称/default.aspx

刷新客户端计算机上的数据缓存

在进行故障转移之前,仅当已还原数据与数据层服务器上的数据不匹配时,才必须刷新客户端计算机上的数据缓存。

刷新客户端计算机上的数据缓存

  1. 登录到应用层服务器。

  2. 使用“ClientService”Web 服务来强制客户端在下次连接到应用层服务器时更新跟踪工作项的缓存。

    有关更多信息,请参见如何:刷新客户端计算机上的数据缓存

请参见

任务

如何:为 Team Foundation 数据层服务器配置 SQL Server 镜像

如何:故障转移到镜像数据层服务器

概念

镜像 Team Foundation 数据层服务器

Team Foundation Server 权限

其他资源

如何:停止和启动服务、应用程序池和网站