还原数据库

本主题,还原的第二部分“单服务器”教程,介绍如何使用对原始服务器还原数据库和 SharePoint 场新服务器备份。新的服务器来准备要配置此操作的 Team Foundation Server (TFS)。

您可以使用您构成原始部署的备份将数据从部署还原到新服务器。在还原数据时,请确保将所有数据库和 SharePoint 场返回到同一时间点。如果您按照 创建备份日程安排和计划的指南,在 TFS数据库和 TFS 和 SharePoint Foundation 2010 的同步备份计划标记的事务可帮助确保所有数据还原到同一时间,因此,减少数据冲突的机会。

重要说明重要事项

如果您的原始部署使用的是企业或数据中心版的 SQL Server,并且您想要将数据库还原到运行标准版的服务器,则必须使用通过禁用 SQL Server 压缩生成的备份集。只有禁用了数据压缩,才能成功地将企业或数据中心版数据库还原到运行标准版的服务器。要关闭压缩,请遵循 Microsoft Knowledge Base article(Microsoft 知识库文章)中的步骤。

在还原数据库后,您必须通过使用命令行工具的 TFS 配置它们。

提示提示

有一个备份和还原增强工具可用于 Team Foundation server 2012。使用该工具可大大简化部署的维护和还原。如果使用增强工具来备份您的数据,则应使用工具还原部分还原数据库,并跳过本主题的部分。可增强工具的此处 当前版本。

因为她从在 使单服务器安装正常运行 [教程] 描述的原始部署的硬件故障中恢复,所以本教程主题示例跟随虚构 Fabrikam Fiber 公司的 IT 管理员 Jill frank。熟悉教程以及在可帮助您按照本教程过程描述的体系结构。

主题内容

  • 还原 Team Foundation Server 数据库

  • 还原 SharePoint 场

  • Team Foundation Server 数据库准备就绪

所需权限

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

  • 该服务器上**“管理员”**安全组的成员。

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

  • 该Team Foundation 数据库的sysadmin安全组的成员。

  • **“Team Foundation Administrators (Farm 管理员)”**组的成员

还原 Team Foundation Server 数据库

安装并配置的软件不能够恢复部署。在您的用户将能返回工作时,您必须还原数据。通过使用 SQL Server 提供的工具,您可以还原 Team Foundation Server 的数据。SQL Server Management Studio 将使用相同的备份组,帮助您还原 TFS 使用的所有数据库。您可以完全应用完整备份和增量备份以及事务日志备份到新部署。

说明说明

此过程是专为在 SQL Server 中恢复 TFS 数据库而设计。有关在 SQL Server 2008 R2 中如何还原数据库的更多通用信息以及其他还原方法,请参见 Microsoft 网站上的以下页面: Implementing Restore Scenarios for SQL Server Databases (实现 SQL Server 数据库还原方案)。

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

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

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

  2. 在**“服务器类型”列表中,选择“数据库引擎”**。

  3. “服务器名称”,请指定服务器的名称,然后单击**“连接”**。

    说明说明

    在部署示例, Jill 指定 FABRIKAMPRIME 作为服务器的名称。她使用了默认实例,因此她未指定实例名称。

    将打开 SQL Server Management Studio。

  4. 展开**“Databases”**节点。

完成下一步骤,为 Team Foundation Server 部署的每个数据库“还原数据库”。在部署示例, Jill 还原以下数据库:

  • TFS_Warehouse

  • TFS_DefaultCollection

    此为集合数据库的默认名称。如果自定义名称,确保使用该名称。

  • TFS_Configuration

  • ReportServer

  • ReportServerTempDB

还原数据库

  1. 在对象资源管理器中,突出显示数据库,打开其子菜单,然后单击**“还原数据库”**。

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

  2. 在操作数据库时:指定要还原的数据库的名称,例如 TFS_Configuration。在**“还原的源”下方单击“源设备”,再选择省略号按钮(“…”**)。

  3. 在**“指定备份”对话框中,选择“添加”。为要还原的数据库指定备份文件的位置,然后选择两次“确定”**。

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

  4. 在**“选择要还原的备份集”**下面,选中要还原的备份集的复选框。

    如果您使用标记的事务创建了备份集,请确保还原完整、差异和事务日志数据库。

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

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

  7. 在**“恢复状态”下面,选择“不对数据库执行任何操作,不回滚未提交的事务。无法还原其他事务日志。(RESTORE WITH RECOVERY),选择一个选项,然后单击“确定”**。

    将显示一个进度图标。

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

  9. 打开已还原数据库的快捷菜单并选择**“任务”“还原”,然后“事务日志”**。

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

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

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

  12. 在**“还原到”下面,选择“标记的事务”**。

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

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

    重要说明重要事项

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

  14. 在**“还原事务日志”窗口中,选择“确定”**。

    将显示一个进度图标。

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

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

还原所有数据库后,您必须还原报告数据库的加密密钥。

还原 Reporting Services 的加密密钥。

  1. 单击**“开始”“所有程序”“Microsoft SQL Server R2”“配置工具”,然后“Reporting Services 配置管理器”**。

  2. “Reporting Services 配置连接”,请指定服务器的名称,然后单击**“连接”**。

    在部署示例,在 “服务器名”,Jill 在 **“服务器名”**中输入 FABRIKAMPRIME。由于她使用了默认实例,则不需要更改默认的实例名,MSSQLSERVER。

  3. “连接” 窗格中,单击**“加密密钥”,然后在加密密钥窗格中,单击“还原”**。

    将打开**“还原加密密钥”**窗口。

  4. “文件位置”,为加密密钥指定备份文件的位置。在 密码,请指定要使用的密码何时支持加密密钥,然后单击确定

  5. 在**“结果”中显示还原的状态。当“结果”**区域显示已还原加密密钥时,请关闭 Reporting Services 配置管理器。

还原 SharePoint 场

与 Team Foundation Server 数据库不同的是,不能使用 SQL Server Management Studio 工具还原场。您必须使用 Restore-SPFarm 命令的 Windows PowerShell 来还原您构成 SharePoint 场的备份。有时,可以选择使用管理中心网站还原该场而不是还原 SPFarm,但是, PowerShell命令是还原的场的首选方法。

若要还原场,您必须使用场管理员组的一个成员的账户登录,或您必须在提示时,为一个账户提供其为该组的成员的凭据。

使用还原 SPFarm 还原 SharePoint Foundation 2010 的场

  1. 打开 Windows PowerShell 或 SharePoint 2010 管理 Shell。

  2. 在 Windows PowerShell 命令提示处,通过键入以下命令, UNCPath 是方案备份的完全限定目录 UNC 路径:

    Restore-SPFarm –Directory UNCPath –RestoreMethod Overwrite

    此命令将使用最近可用备份还原该场。如果要使用不同的备份,必须指定还原使用哪个备份 – BackupID 参数是你指定要用的备份 GUID。

  3. 在 Windows PowerShell 命令提示处,通过键入以下命令, ServiceApplicationID 为还原场的GUID:

    Start-SPServiceInstance –Identity ServiceApplicationID

    提示提示

    如果不知道 GUID,可以使用 Get-SPServiceInstance 命令列出服务器上所有 SharePoint 应用程序的服务实例 GUID。

  4. 有关还原一个方案的更多信息,请参见 还原一个方案 (SharePoint Foundation 2010)还原-SPFarm

使用 SharePoint 管理中心还原场

  1. 打开 SharePoint 管理中心,然后在**“主页”页上,在备份和还原部分选择“从备份中还原”**。

    将打开还原向导。

  2. 在**“从备份 – 3 步中的第 1 步中还原”页上,选择要还原的场备份作业,然后选择“下一步”**。

  3. 在**“从备份 – 3 步中的第2步中还原”页,选择场选项旁边的复选框,然后选择“下一步”**。

  4. 在**“从备份 – 3 步中的第 3 步中还原”页上,在“还原组件”部分,确保“场”“还原以下组件”列表中显示。在 “仅还原配置设置” 部分中,单击“还原内容和配置设置”。在“还原选项”** 部分,在 “还原类型”下,单击“相同配置”。当出现文本框要求您确认您的选择时,选择 OK,然后选择**“启动还原”**。

  5. 在其显示在**“备份和还原作业状态”页的“准备情况”部分中时,监视还原的常规状态。该状态每 30 秒会自动更新。您还可以选择通过选择“刷新”**手动更新状态。

  6. 当还原完成时,请返回到“管理中心的”Home 页。在 “应用管理”,单击**“管理服务器上的服务”**。

  7. 在**“服务器上的服务”页中,查找已还原的场的服务应用程序,并在“操作”列中,为这些服务应用程序中的每一个选择“启动”**。

  8. 有关还原一个方案的更多信息,请参见 还原一个方案 (SharePoint Foundation 2010)

Hh529829.collapse_all(zh-cn,VS.110).gifTeam Foundation Server 数据库准备就绪

在已还原数据库正常工作前,必须使用 TFSConfig RemapDBs 命令重新映射 TFS 配置数据库到SQL Server的新实例。您还必须使用 TFSConfig Accounts ResetOwner 命令将已还原数据库的数据库所有者登录更改为当前用户。最后,必须使用 TFSConfig Accounts 命令刷新数据库的服务帐户信息,即使您在前面的服务器上将继续使用服务帐户。

只要有可能,请确保该帐户要在使用运行此命令才使用,即使安装 Team Foundation Server 在原始服务器上的同一帐户。至少,您必须使用 Team Foundation Administrators 账号在 Team Foundation Server 组中和一个 sysadmin 账号在 SQL Server组中的,用于在原始服务器备份。

由于 Jill 使用了她的帐户,在原始服务器和新服务器上安装和配置 Team Foundation Server ,并保留 sysadminTeam Foundation Administrators 组的成员,她仍然可以用自己的帐户登录运行这些命令。但是,作为管理员她将需要运行命令提示才能成功完成 command-line 程序。

重新映射数据库

  1. 打开以管理员运行的命令提示符窗口,将目录更改为驱动器:\%programfiles%\Microsoft Team Foundation Server 11.0\Tools。

  2. 输入下面的命令,其中 DatabaseName 是配置数据库的名称,此数据库包含承载它的 SQL Server 的服务和实例名称,采用 ServerName 或 ServerName\InstanceName 格式,并且 InstanceName 是 SQL Server 实例的名称:

    **TFSConfig RemapDBs /databaseName:**数据库名称 **/sqlInstances:**实例名称

    在部署示例, Jill 已还原所有 Team Foundation Server 的数据库还原到相同服务器,因此,她只需运行一次命令。她还使用了默认实例,因此不需要指定实例名,仅服务器的名称。她在命令行输入 TFSConfig RemapDBs /databaseName:FabrikamPrime;TFS_Configuration /sqlInstances: FabrikamPrime

将已还原数据库的所有权更改为当前用户

  • 在命令提示符处,键入以下命令,其中 “服务器名称” 是承载 Team Foundation Server 配置数据库的 SQL Server 实例名,“数据库名称” 是配置数据库的名称。

    **TFSConfig Accounts /ResetOwner /SQLInstance:**ServerName **/DatabaseName:**DatabaseName

    在部署示例中,Jill 在命令行输入以下命令:TFSConfig Accounts /ResetOwner /SQLInstance:FABRIKAMPRIME /DatabaseName:TFS_Configuration

    此命令行会更改 Team Foundation Server 使用的所有数据库的所有权。

更新服务帐户

  1. 在命令提示符处,输入以下命令以升级 Team Foundation Server 的服务帐户,其中 DatabaseName 是配置数据库的名称(默认为 TFS_Configuration):

    **TfsConfig Accounts /add /AccountType:ApplicationTier /account:**AccountName **/SQLInstance:**ServerName **/DatabaseName:**DatabaseName

    在部署示例中,Jill 在命令行输入以下命令:TFSConfig Accounts /add /AccountType:ApplicationTier /account:"Network Service" /SQLInstance:FABRIKAMPRIME /DatabaseName:TFS_Configuration

  2. 在命令提示符处,输入以下命令以升级数据源帐户:

    **TfsConfig Accounts /add /AccountType:ReportingDataSource /account:AccountName/SQLInstance:**ServerName **/DatabaseName:**DatabaseName

    在部署示例中,Jill 在命令行输入以下命令:TFSConfig Accounts /add /AccountType:ReportingDataSource /account:SVCSPTRS /SQLInstance:FABRIKAMPRIME /DatabaseName:TFS_Configuration

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

主页 | 准备新硬件 | 还原数据库 | 安装和配置 Team Foundation Server | 重新连接服务和用户