gpt4 book ai didi

Azure DevOps Azure SQL DacpacTask SQL72018 权限无法导入

转载 作者:行者123 更新时间:2023-12-05 03:26:32 31 4
gpt4 key购买 nike

我们在 Azure DevOps 中有一个发布管道,它通过 Azure SQL Dacpac 任务将数据库项目部署到我们的 Azure SQL 数据库。一切都工作正常,但昨天管道突然开始失败,并出现以下错误:

##[error]*** An error occurred during deployment plan generation. Deployment cannot continue.
##[error]Error SQL72018: Permission could not be imported but one or more of these objects exist in your source.

据我所知,数据库端或管道中没有任何变化。我们还排除了这可能是特定 dacpac 文件的问题,因为之前成功的版本现在失败并出现相同的错误。

我广泛搜索了 SQL72018 错误,但没有真正找到任何导致该错误的答案,因此我想知道是否有一些 Azure DevOps 任务更新或我们可能遗漏的内容?

不知道什么会导致这种情况突然爆发。

如果我们将 p:/ignorePermissions=true 参数添加到任务中,它确实可以工作,但在此之前我们从未需要过它。

更新:

想要更新此内容,因为我能够通过将 /Diagnostics:True 参数添加到管道任务来收集更多信息,以便从 SQLPackage 打印出诊断信息。

当我添加该内容时,我也看到了此错误:

Microsoft.Data.Tools.Diagnostics.Tracer 错误:1:2022-04-05T08:38:37:对数据库进行逆向工程时检测到错误。严重性:'警告' 前缀:'' 错误代码:'0' 消息:无法识别权限“VDP”,且未导入。如果此问题仍然存在,请联系客户支持。

因此,看起来某些“VDP”权限是导致问题的原因,但我们不知道该权限的用途或来源,因为它不在数据库项目中。

最佳答案

我们终于弄清楚了这件事的真相。事实证明,在管道开始失败的前一天,新的权限被添加到数据库中。导致问题的数据库权限是VIEW DATABASE PERFORMANCE STATE。这就是 SQLPackage.exe 提示的 VDP 权限。

不确定为什么该特定权限会导致错误,因为我们在数据库项目之外管理所有数据库权限,因此不确定为什么其他权限不会在此之前导致问题。

由于我们在数据库项目之外管理权限,因此解决方案是添加 p:/ignorePermissions=true SQLPackage参数永久添加到管道。在我们提交票证后,Microsoft 代表确认这是适当的解决方案。

关于Azure DevOps Azure SQL DacpacTask SQL72018 权限无法导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71708024/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com