将数据还原到相同位置

更新:2011 年 3 月

您可以用备份将数据还原到该数据备份自的相同服务器和 Team Foundation SQL Server 实例。 例如,您可能需要将一组损坏的数据库还原到其已知的最后良好状态。 若要帮助确保数据恢复可成功,应将标记的事务作为备份策略的一部分进行配置。 有关更多信息,请参见备份 Team Foundation Server

提示

您可以使用 2010 年 9 月版 Team Foundation Server 增强工具中的向导,自动完成本主题中的某些过程。 这些向导有助于简化部署的备份和还原过程。 但是,这些向导不能帮助备份或还原 Visual Studio 实验室管理工具版,您应使用这些向导来备份或还原 SharePoint 产品或 Microsoft Project Server 的数据库。 有关更多信息,请参见 Microsoft 网站上的以下页面:Team Foundation Server Power Tools September 2010(Team Foundation Server 增强工具 2010 年 9 月版)。

若要执行本主题中的过程,您的服务器硬件必须能够正常工作。 如果您的部署使用 SharePoint 产品 或 Microsoft Project Server,则必须执行附加步骤来备份和还原其数据库,本主题中的过程对此进行了详细介绍。 如果要将数据还原到其他服务器或其他 SQL Server 实例,请参见将数据还原到其他服务器或实例

提示

如果在部署中使用 SharePoint 产品,则在还原数据时,不必还原基于每个团队项目的数据自动生成的网站。 团队项目门户网站的数据会包含在还原的数据库中。

根据 Team Foundation Server 的安装和配置方式,将数据还原到原始服务器的步骤会有所不同。 简单起见,本主题中的过程是针对中等复杂度的 Team Foundation Server 部署组织的,如下图所示:

适中数据库拓扑的示例

如果您的拓扑与此示例不完全相同,则可能必须调整此过程中的步骤以便成功执行。 例如,如果您的部署中的所有组件都安装在单个物理服务器上,则会在该服务器上执行所有过程。 如果团队项目集合的数据库部署在多个服务器上,则必须在相应服务器上执行这些步骤以还原每个集合数据库。 有关每台服务器上可以部署哪些组件的更多信息,请参见以下主题:

主题内容

  1. 所需权限

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

  3. 还原 Team Foundation 数据库

  4. 更新所有服务帐户

  5. 还原仓库

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

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

所需权限

若要执行此过程,您必须是以下组的成员或具有以下权限:

  • 是运行 Team Foundation 的管理控制台的服务器上**“Administrators”**安全组的成员。

  • 是**“SQL Server System Administrator”安全组的成员,或者在承载这些数据库的 SQL Server 实例上,您的“SQL Server 执行备份和创建维护计划”权限必须设置为“允许”**

  • 是 Team Foundation 数据库实例和仓库数据库的 Analysis Services 实例的 sysadmin 安全组的成员。

  • 是 TFS_Warehouse 数据库的授权用户。

  • 是 TFSEXECROLE 数据库角色的成员。

  • 如果部署使用的是 SharePoint 产品,则必须是要在其中还原 SharePoint 产品数据库的场中**“Farm Administrators”**组的成员

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

  • 若要使用命令行过程,您可能必须通过以下操作打开提升的命令提示符:单击**“开始”,右击“命令提示符”,然后单击“以管理员身份运行”**。

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

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

有关更多信息,请参见 Microsoft 网站上的以下页面:用户帐户控制

停止 Team Foundation Server 使用的服务

停止 Team Foundation Server 使用的服务

  1. 在运行 Team Foundation 应用层服务的服务器上,打开命令提示符窗口,将目录切换到 驱动器:\%programfiles%\Microsoft Team Foundation Server 2010\Tools。

  2. 键入以下命令:

    TFSServiceControl quiesce

    有关更多信息,请参见 TFSServiceControl 命令

还原 Team Foundation 数据库

停止服务后,可以使用随 SQL Server 一起提供的还原工具来还原 Team Foundation 数据。

警告

必须将所有数据库还原到同一个时间点,否则这些数据库将不同步。 以下过程假定您使用标记的事务来帮助确保 Team Foundation Server 使用的数据库同步。 有关更多信息,请参见备份 Team Foundation Server。 如果您的部署使用 SharePoint 产品,则应遵循部署中的该产品版本的指南。 有关更多信息,请参见备份和恢复 (SharePoint Server 2010)保护和还原服务器场 (Office SharePoint Server 2007)保护和还原服务器场 (Windows SharePoint Services 3.0)。 如果您的部署与 Microsoft Project Server 集成,则应遵循部署中的该产品版本的指南。 有关更多信息,请参见还原数据库 (Project Server 2007)还原数据库 (Project Server 2010)

打开“还原数据库”对话框

  1. 登录要还原数据库的服务器。

  2. 单击**“开始”,依次指向“所有程序”“Microsoft SQL Server 2008”,然后单击“SQL Server Management Studio”**。

    提示

    有关如何还原数据库的更多信息,请参见 Microsoft 网站上的以下页面:实现 SQL Server 数据库还原方案

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

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

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

    提示

    如果 SQL Server 安装在群集上,则服务器名称是该群集的名称而非计算机名称。

    将打开 SQL Server Management Studio。

  5. 展开**“数据库”**节点,以显示构成 Team Foundation 数据层的数据库的列表。

在以下数据库源自的每个服务器上,为每个数据库完成下一个过程“还原数据库”:

在承载 Team Foundation Server 数据库的服务器上:

  • TFS_Configuration

    提示

    此数据库名称的 TFS_Configuration 之间可能包含其他字符。

  • TFS_CollectionName

    提示

    每个团队项目集合都有自己的数据库。 例如,如果有五个团队项目集合,则有五个数据库,每个数据库可根据团队项目集合名称进行区别。 这些数据库可能在相同或不同的 SQL Server 实例上,也可能在不同的物理服务器上。 您必须备份每个数据库,然后将每个数据库还原到其源自的服务器和实例。

  • VirtualManagerDB

    System Center Virtual Machine Manager (SCVMM) 的管理数据库包含您在 SCVMM 管理控制台中查看的信息,如虚拟机、虚拟机主机、虚拟机库服务器及其属性。

    提示

    如果 SCVMM 安装在 Team Foundation Server 之外的服务器上,则此数据库可能不在 Team Foundation 的数据层服务器上。 在这种情况下,您必须从 Team Foundation Server 对该数据库单独进行备份和还原。 但是,您应使用标记的事务并同步数据库的维护,以避免发生同步错误。

在运行 SQL Server Reporting Services 的服务器上(如果您的部署中配置了一个这样的服务器):

  • ReportServer

    提示

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

  • ReportServerTempDB

    提示

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

在运行 SharePoint 产品的服务器上(如果您的部署中配置了一个或多个 SharePoint Web 应用程序):

  • SharePoint 产品的管理数据库 (WSS_AdminContent)(如果要恢复整个 SharePoint 产品部署)。

  • SharePoint 产品的配置数据库 (WSS_Config)。

  • SharePoint 产品的内容数据库 (WSS_Content)。

    提示

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

    若要还原 SharePoint 产品使用的数据库,应遵循部署中该产品的版本指南。 有关更多信息,请参见备份和恢复 (SharePoint Server 2010)保护和还原服务器场 (Office SharePoint Server 2007)保护和还原服务器场 (Windows SharePoint Services 3.0)

在运行 Microsoft Project Server 的一台或多台服务器上(如果已将您的部署与 Project Server 集成且必须将数据库还原到其他服务器):

如果不打算重新生成仓库:

  • TFS_Warehouse

    提示

    此数据库名称可能在 TFS_Warehouse 之间包含其他字符。

  • TFS_Analysis

有关这些数据库的更多信息,请参见了解备份 Team Foundation Server

还原数据库

  1. 右击要还原的数据库,依次指向**“任务”“还原”,然后单击“数据库”**。

    即会打开**“还原数据库”**对话框。

  2. 在**“还原的源”下方单击“源设备”,再单击省略号按钮(“…”**)。

  3. 在**“指定备份”对话框中,指定备份文件的位置,再单击“确定”**。

    必须按照创建顺序,首先还原完整备份,随后还原差异备份,然后还原事务日志备份。

  4. 在**“选择要还原的备份集”**下面,指定要还原的备份集。

    如果您创建了标记的事务备份集,则请确保还原完整、差异和事务日志数据库。 有关标记的事务备份集的示例,请参见备份 Team Foundation Server

  5. 在**“选择页”窗格中,单击“选项”,然后选中“覆盖现有数据库”**复选框。

  6. 在**“将数据库文件还原为”**列表中,确认路径与当前数据库路径相匹配。

  7. 在**“恢复状态”**下面,执行下列任务之一:

    • 如果使用标记的事务,则单击**“不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志。(RESTORE WITH RECOVERY)”**。

    • 如果不使用标记的事务,并且不准备应用其他事务日志,请单击**“数据库随时可用”**。

    • 如果不使用标记的事务,但准备应用其他事务日志,请单击**“数据库尚不可用”**。

  8. 单击**“确定”**。

    将显示一个进度图标。

  9. 出现**“SQL Server Management Studio”对话框并确认成功还原后,单击“确定”返回到“对象资源管理器”**。

  10. 如果使用标记的事务,请右击刚还原的数据库,依次指向**“任务”“还原”,然后单击“事务日志”**。

    将打开**“还原事务日志”**窗口。

  11. 在**“常规”页上,确保相应数据库突出显示在“数据库”**列表中。

  12. 在**“选择要还原的事务日志”**下面,选中要还原的日志旁边的复选框。

  13. 在**“还原到”下面,单击“标记的事务”**。

    将打开**“选择标记的事务”**窗口。

  14. 在**“选择标记的事务以将还原停止在”列表中,选中要用于还原的事务标记旁边的复选框,然后单击“确定”**。

    重要说明重要事项

    为了成功还原数据,您必须对所有数据库使用具有相同日期和时间的相同事务标记。

  15. 在**“还原事务日志”窗口中,单击“确定”**。

    将显示一个进度图标。

  16. 出现**“SQL Server Management Studio”对话框并确认成功还原后,单击“确定”**。

    有关更多信息,请参见 Microsoft 网站上的以下页面应用事务日志备份

提示

如果还原了 Reporting Services 的数据库,则还必须还原这些数据库的加密密钥。 有关更多信息,请参见 Microsoft 网站上的以下主题:还原加密密钥(Reporting Services 配置)

更新所有服务帐户

必须更新 Team Foundation Server 的服务帐户 (TFSService) 和数据源帐户 (TFSReports)。 即使这些帐户未进行更改,也必须更新信息,以确保帐户的标识和格式正确。

更新服务帐户

  1. 在运行 SQL Server Reporting Services 的服务器上,打开“计算机管理”,然后启动以下组件(如果这些组件尚未启动):

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

    • SQL Server Reporting Services (TFSINSTANCE)

  2. 在应用层服务器上,打开命令提示符窗口,将目录切换到“驱动器:\%programfiles%\ Microsoft Team Foundation Server 2010\Tools”。

  3. 在命令提示符处,通过键入下面的命令为 Team Foundation 添加服务帐户,其中 DatabaseName 是配置数据库的名称(默认为 TFS_Configuration):

    **TfsConfig Accounts /add /AccountType:ApplicationTier /account:**AccountName

    有关如何使用此命令的更多信息,请参见 Accounts 命令

  4. 如果部署使用报表服务器的数据源帐户以及 Team Foundation Server Proxy 的代理帐户,请使用 Accounts 命令添加这些资源。

重新生成仓库

您可以重新生成数据仓库,而不是还原 TFS_WarehouseTFS_Analysis 数据库。 如果部署包含大量数据,则需要很长时间才能重新生成仓库。 但是,该策略可帮助确保所有数据都正确同步。 重新生成仓库时,Team Foundation Server 将创建该仓库的实例,然后您必须使用操作存储区中的数据填充该实例。

提示

如果在上一节中恢复了 TFS_Warehouse 和 TFS_Analysis 数据库,则不必执行以下过程。

重新生成仓库

  1. 在运行 Team Foundation 应用层服务的服务器上,打开命令提示符窗口,将目录切换到 驱动器:\%programfiles%\Microsoft Team Foundation Server 2010\Tools。

  2. 键入以下命令:

    TFSConfig rebuildwarehouse /all /ReportingDataSourcePassword:Password

    其中,Password 是 Reporting Services (TFSReports) 的数据源帐户的密码。

  3. 等到命令成功完成。

    提示

    如果命令未成功完成,则应验证您是否具有所有必需的权限。 有关更多信息,请参见 Troubleshooting the Data Warehouse

  4. 在报表服务器上,打开 Internet Explorer,并在地址栏中键入以下字符串,然后按 Enter:

    https://localhost:8080/VirtualDirectory/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx

    对于 VirtualDirectory,请键入安装 Team Foundation Server 时指定的 Internet Information Services (IIS) 虚拟目录。 默认情况下,此目录的名称为 tfs。

    将打开**“WarehouseControlWebService”**页。

    提示

    Microsoft Team Foundation Server 应用程序池必须运行才可提供仓库控制 Web 服务。

  5. 单击**“GetProcessingStatus”,然后单击“调用”**。

    重要说明重要事项

    该服务应对所有作业返回值“空闲”,指示当前未处理多维数据集。 如果返回其他值,则请重复此步骤,直到针对所有作业都返回“空闲”

  6. 在**“WarehouseControlWebService”页上,单击“ProcessAnalysisDatabase”,然后单击“调用”**。

    此时将打开一个浏览器窗口。 当该服务成功启动多维数据集的处理时,会返回**“True”;如果未成功,或当前正在处理多维数据集,则返回“False”**。

  7. 若要确定多维数据集是何时处理完毕的,请返回到**“WarehouseControlWebService”页,单击“GetProcessingStatus”,然后单击“调用”**。

    当**“GetProcessingStatus”服务针对所有作业都返回值“空闲”**时,处理完成。

    有关更多信息,请参见为 Team Foundation Server 手动处理数据仓库和 Analysis Services 多维数据集

  8. 在 Team Foundation 应用层服务器上,打开“Computer Management”,并启动 Visual Studio Team Foundation Server 后台作业服务。

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

还原数据之后,必须重新启动服务才能将服务器恢复到操作状态。

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

  1. 在运行 Team Foundation 应用层服务的服务器上,打开命令提示符窗口,将目录切换到 驱动器:\%programfiles%\Microsoft Team Foundation Server 2010\Tools。

  2. 键入以下命令:

    TFSServiceControl unquiesce

    有关更多信息,请参见 TFSServiceControl 命令

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

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

请参见

任务

备份 Team Foundation Server

将数据还原到其他服务器或实例

概念

Team Foundation Server 权限

Team Foundation Server 体系结构

还原 Lab Management 组件

其他资源

Team Foundation Server 服务和服务帐户

Managing Data

Managing Team Foundation Server

修订记录

日期

修订记录

原因

2011 年 3 月

添加了有关与 Project Server 集成的部署的信息。

SP1 功能更改。

2010 年 10 月

修改了用于反映 SharePoint 产品的最佳做法的指南。

信息补充。

2010 年 9 月

更新了处理仓库的步骤,并包括了有关如何还原 Lab Management 的链接信息。

客户反馈