备份和还原数据库

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013

备注

Azure DevOps Server 以前名为 Visual Studio Team Foundation Server。

你应定期备份 Azure DevOps Server 的数据库,以降低因设备故障或其他意外事件而导致生产力或数据丢失的风险。 计划的备份向导 可让你轻松备份数据库,这些数据库是 Azure DevOps Server 数据层的一部分,存储在 SQL Server 中。 还原 Azure DevOps Server 部署所需的所有信息都存储在这些数据库中。 无需备份 Azure DevOps 的客户端计算机或应用层服务器。

选择预配置的计划或自定义计划

选择预配置的计划或自定义计划

有关 Azure DevOps 数据库的概述,请参阅了解备份 Azure DevOps Server。 以下文章提供了备份和还原 Azure DevOps Server 数据库的过程。

任务 过程
备份数据 - 创建备份计划和计划
- 手动备份 Azure DevOps Server
从备份还原数据库 - 将部署还原到新硬件
- 将数据还原到相同位置
从应用层上的硬件故障中恢复 - 还原应用层服务器
- 刷新客户端计算机上的数据缓存
备份和还原实验室管理工具版
- 还原实验室管理工具版组件

将数据还原到同一台服务器

你可以将备份中的数据还原到 SQL Server 相同的服务器和实例,以供从中备份该数据 Azure DevOps Server。 例如,你可能需要将一组损坏的数据库还原到其已知的最后良好状态。

提示

如果你的原始部署使用的是 SQL Server Enterprise Edition 或 SQL Server Datacenter Edition,并且你要将数据库还原到运行 Standard Edition 的服务器,则必须使用通过禁用 SQL Server 压缩生成的备份集。 若要禁用压缩,请按照此 Microsoft 知识库文章中的步骤进行操作。

若要将数据还原到另一个服务器或 SQL Server 的另一个实例,请参阅将部署还原到新硬件

备注

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

将数据还原到同一台服务器的步骤会因安装和配置 Azure DevOps Server 的方式而异。 本文中的过程是针对 Azure DevOps Server 的适度复杂部署构建的,如下图所示:

显示数据库的中等拓扑示例的关系图。

如果拓扑与此示例不完全匹配,则可能需要调整此过程中的步骤。 例如,如果你的部署中的所有组件都安装在单个物理服务器上,则会在该服务器上执行所有过程。 如果项目集合的数据库部署在多台服务器上,请执行这些步骤以还原相应服务器上的每个集合数据库。 有关每台服务器上可以部署哪些组件的详细信息,请参阅以下文章:

将数据还原到其他服务器

你可以将 Azure DevOps Server 部署的数据还原到另一个服务器或实例,而不是它的原始存储位置。 例如,你想要升级数据层服务器,或原始服务器上的硬件失败。 为了帮助确保成功恢复此方案中的数据,应将标记的事务配置为你的备份策略的一部分。 有关详细信息,请参阅备份 Azure DevOps Server

若要将数据还原到其他服务器,则必须执行的步骤不同于将数据还原到同一台服务器所执行的步骤。 有关如何将数据还原到同一台服务器的详细信息,请参阅将 数据还原到同一位置。 有关如何在硬件发生故障后还原单一服务器部署的信息,请参阅将 单服务器部署还原到新硬件。 如果你的部署使用 SharePoint 产品,则必须执行其他步骤来备份和还原其数据库,如本文中的过程中所述。

根据安装和配置 Azure DevOps Server 的方式,将数据还原到不同服务器或实例的步骤会有所不同。 例如,本文中的过程适用于仅还原适度复杂部署中的 Azure DevOps Server 数据库,如下图所示:

数据库 Azure DevOps Server 的适度复杂部署的示意图。

你的拓扑无需与此示例匹配即可按照本文中的步骤进行操作,但你可能需要调整这些步骤。 例如,如果你的部署中的所有组件都安装在单个物理服务器上,则在运行 Azure DevOps Server 的服务器上执行所有过程。 如果项目集合的数据库最初部署在多台服务器上,请执行这些步骤以还原指定的一个或多个服务器上的每个数据库。 您不必像以前一样还原数据库,但必须还原每个数据库。 在某些情况下,您还必须还原 SharePoint 产品、Microsoft Project Server 和 SQL Server Reporting Services 的数据库,例如它们都承载在失败的服务器上。 有关每台服务器上可以部署哪些组件的详细信息,请参阅以下文章:

问题解答

问:在哪里可以了解有关 Azure DevOps Server 中的备份的详细信息?

答: 可以在 了解 Azure DevOps Server 数据库、部署拓扑和备份中了解有关可用备份类型的详细信息。

问:是否存在我不需要使用计划的备份工具的情况?

答: 计划的备份工具旨在满足大多数部署的需求。 如果您的部署具有阻碍使用该工具的安全限制或具有备份数据库的其他要求(例如,出现审核目的),`则可能需要手动配置备份。 有关详细信息,请参阅手动备份 Azure DevOps Server

问:我在多个服务器上部署 Azure DevOps Server。如何实现还原它?

答: 在多服务器部署中还原 Azure DevOps Server 的步骤实质上与在将 数据还原到单台服务器的教程中所述的步骤相同。 该过程也与基于还原的移动中所述的过程相同。

问:我是否能 Azure DevOps Server 移动?

答: 是的,可以将 Azure DevOps Server移动到新硬件。 还可以更改 其环境,例如其域。

问:数据层?应用程序层?这些是什么?在哪里可以了解有关体系结构Azure DevOps Server?

答: 详细了解在 Azure DevOps Server 体系结构 中Azure DevOps Server 的工作原理

问:我能否手动处理数据库?

答: 不是。 除非按照手动备份数据库的过程操作,否则修改任何 Azure DevOps Server 数据库都可能导致支持协议无效。 这可能导致数据丢失,从而无法升级或修补 Azure DevOps Server,或者会导致其他严重问题。