我正在使用“Azure SQL 数据库部署”任务将 dacpac 作为发布管道的一部分部署到 Azure。
我收到错误消息:“不能在表或索引视图‘表’上使用 CONTAINS 或 FREETEXT 谓词,因为它不是全文索引。”
dacpac 部署到的表是一个空数据库,每次都在之前的 Azure CLI 任务中创建并在稍后的部署中删除。
这些问题似乎是订购的问题......
调查发布脚本显示:
第 2489 行 - 创建全文索引目录
第 70374 行 - 创建存储过程 - 此处失败
第 80491 行 - 在表格上创建全文
所以存储过程是在它所依赖的全文索引之前创建的。
我努力了:
- 在“附加 SqlPackage.exe 参数”中添加/p:IncludeTransactionalScripts=True(据我所知,这没有区别)
- 在执行任何其他操作之前手动添加全文索引的预部署脚本。这也失败了。由于它需要添加索引的表在部署前阶段还没有存在。
临时工作:
值得注意的是,我有一个临时工作。在那里,我让“Azure SQL 数据库部署”任务运行了两次。第一次抛出错误,但选择了“继续出错”,然后第二次成功。这感觉真的很糟糕而且很糟糕。