SqlAzureDacpacDeployment 添加额外的聚集索引

问题描述

我正在使用 sqlAzureDacpacDeployment@1 从 Azure 部署管道将 dacpac 部署到 Azure Synapse。部署应该是修改(重建)现有表,添加一列和聚集列存储索引。部署正确执行此操作,我可以看到新列和新索引“Clusteredindex_cabdee0c6367463ea3d3c3e0521569f4”。

然而,它随后尝试添加一个聚集列存储索引和一个聚集索引。您可以在下面的错误消息中看到它正在执行的其他不必要的 sql 语句。添加额外的索引会导致部署失败:

##[debug]Processed: ##vso[task.logissue type=error]Error sql72014: .Net sqlClient Data Provider: Msg 1902,Level 16,State 1,Line 1 Cannot create more than one clustered index on table 'SAT_Asset'. Drop the existing clustered index 'Clusteredindex_cabdee0c6367463ea3d3c3e0521
##[debug]Error record:
##[debug]Execute-Command : 569f4' before creating another.
##[debug]Error sql72045: Script execution error.  The executed script:
##[debug]CREATE CLUSTERED INDEX [Clusteredindex_00000000000000000000000000000000]
##[debug]    ON [dv].[SAT_Asset]([Asset_SK]);
##[debug]
##[debug]CREATE CLUSTERED COLUMNSTORE INDEX [Clusteredindex_00000000000000000000000000000000]
##[debug]    ON [dv].[SAT_Asset] WITH (DROP_EXISTING = ON);
##[debug]

请注意,该表开始时没有索引。错误消息要我删除的索引是部署刚刚创建的索引。

当我直接从 Visual Studio 进行部署时,一切正常。有谁知道为什么会这样做,以及解决方法

谢谢

马克·奥格维

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)