UseExistingEmptyCollectionDatabase 在使用托管服务标识创建集合以使用 SQL 进行身份验证时必须设置为 true

问题描述

我在 Azure VM 中安装了 Azure DevOps Server 2020.0.1,然后将其配置为连接后端 sql Azure 数据库,我遵循了 Azure DevOps 文档 Use Azure SQL Database with Azure DevOps Server 但是,它失败并显示以下消息。 我之前对 Azure DevOps Server 2020 版本做过类似的操作,它成功了。所以不确定新版本有问题

[Info   @16:41:55.887] +-+-+-+-+-| Running General: Verifying that all the inputs are valid and there are no violations |+-+-+-+-+-
[Info   @16:41:55.902] 
[Info   @16:41:55.903] +-+-+-+-+-| Verifying that all the inputs are valid and there are no violations |+-+-+-+-+-
[Info   @16:41:55.903] Starting Node: VINPUTS
[Info   @16:41:55.903] NodePath : VINPUTS
[Info   @16:41:55.905] Node returned: Error
[Error  @16:41:55.905] UseExistingEmptyCollectionDatabase must be set to true when creating a collection using a Managed Service Identity to authenticate with sql.
[Info   @16:41:55.905] Completed General: Error
[Info   @16:41:55.905] -----------------------------------------------------

解决方法

根据错误信息,我们建议您检查您的ini文件,并尝试设置UseExistingEmptyCollectionDatabase=true。您可以参考此文档:Create the ini file

,

我似乎找到了根本原因,Azure DevOps 2020.0.1 ISO 存在问题。在此版本中,配置 Azure DevOps 时禁用了“新部署-Azure”选项!所以我们根本无法选择使用 Azure SQL。就我而言,我只是选择了“新部署-基本”,然后遇到了上述错误!

我在另一台机器上安装了Azure DevOps server 2020.1 RC1,可以选择'New deployment-Azure'选项,运行正常!

也许产品团队也可以看看。 enter image description here