我在 azure Devops 的发布管道中使用 sql DACPAC 类型的部署。但出现以下错误。我对 SQL 不了解。有什么建议吗?
Publishing to database 'database_name' on server 'Server_name'.
Initializing deployment (Start)
*** The column [dbo].[xxxx].[yyyy] is being dropped, data loss could
occur.
Initializing deployment (Complete)
Analyzing deployment plan (Start)
*** If this deployment is executed, changes to [dbo].[xxx2] might
introduce run-time errors in [dbo].[yyyy2].
Analyzing deployment plan (Complete)
Updating database (Start)
An error occurred while the batch was being executed.
Updating database (Failed)
同意迈克尔的任命。
列 [***] 正在被删除,可能会发生数据丢失。
and
如果执行此部署,则更改为 [] 可能会介绍
[ 中的运行时错误].
这些都是因危害安全而造成的。我假设您对数据库做了一些更改,但无法确定它是否会破坏目标数据库上的任何内容。现在,它将阻止部署,因为服务器无法确定更改是否已生效secure.
-
第一个解决方案 is set
/p:BlockOnPossibleDataLoss=false
.
The BlockOnPossibleDataLoss
默认值为true
,这意味着如果检测到可能的数据丢失,则停止部署。和false
let SQLPackage.exe别理他们。
所以,请进入任务,然后找到并将上述参数输入到其他 SqlPackage.exe 参数:
- The 第二种解决方案正在输入
/p:TreatVerificationErrorsAsWarnings=true
Note: 如果第一个解决方案不适合您,则应使用第二个解决方案。
Set TreatVerificationErrorsAsWarnings=true
意味着将验证错误视为警告以获取完整的问题列表,并且它可以绕过允许发布操作在发生第一个错误时停止的限制。
看到这个以获得更多的发布行动。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)