0

我正在尝试通过 Azure SQL 数据库部署插件在 Azure DevOps 构建中导入 bacpac。它随机失败的问题(大约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 中创建数据库需要很长时间以至于导入功能失败,有什么办法可以解决这个问题。

4

1 回答 1

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

于 2020-02-25T11:31:03.527 回答