Azure BACPAC还原从Azure Devops随机失败

时间:2019-05-27 13:48:04

标签: azure azure-devops azure-sql-database dacpac bacpac

我正在尝试通过Azure SQL数据库部署插件将bacpac导入Azure DevOps构建中。它随机失败(成功的大约50%的时间)的问题,并显示以下错误:

*** Error importing database:Could not import package.
Error SQL72016: Cannot open database "TestDb" requested by the login. The login failed.
Login failed for user 'TestUser'.
Cannot open database "TestDb" requested by the login. The login failed.
Login failed for user 'TestUser'.
The Azure SQL DACPAC task failed. SqlPackage.exe exited with code 1.Check out how to troubleshoot failures at https://aka.ms/sqlazuredeployreadme#troubleshooting-

我运行了带有调试功能的Azure DevOps构建,并看到以下错误:

##[debug]Failed to reach SQL server tcp:testurl.com,1433. Cannot open database "TestDb" requested by the login. The login failed.
##[debug]Login failed for user 'TestUser'.

有时,dacpac导入成功,没有任何问题。我已经从azure中导出了dacpac,并且没有收到兼容性警告。

我怀疑用SQL创建数据库需要很长时间,以至于导入功能失败了,有什么方法可以解决这个问题。

1 个答案:

答案 0 :(得分:0)

我在同一个问题上苦苦挣扎。我确实通过以下两个步骤来解决它

  1. 已将数据库连接更改为其他服务器,并且一旦连接成功 成功后,我将其还原回当前服务器。
  2. 已将数据库兼容性级别更改为150以下。
  3. 创建了新版本

以下参考资料对我有所帮助。希望这会有所帮助。

https://geeklearning.io/dacpac-and-azure-sql-updates/

https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/SqlAzureDacpacDeploymentV1/README.md#troubleshooting-i