备份和还原数据库

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

应定期备份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实例。 例如,你可能需要将一组损坏的数据库还原到其已知的最后良好状态。

若要将数据还原到另一个服务器或SQL Server的另一个实例,请参阅将部署还原到新硬件。 将数据还原到相同服务器的步骤因安装和配置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,或者会导致其他严重问题。