【发布时间】:2019-11-26 15:59:22
【问题描述】:
我有一系列在两个数据库之间运行数据迁移的存储过程。 procs 位于迁移数据库中。一些过程在源表上创建索引。但是,我不能保留索引。我必须在 procs 完成后放下它们。在 SQL 中运行 procs 时,此语句工作正常:
drop index IX_SCA_RPTNBR_ASIGNTYPCD_ENDDT on CHILDSDB2.VLCHA.STAFF_CASE_ASIGN;
但是,在 SSDT 中,为了不出现构建错误,我必须将其更改为:
drop index [$(CHILDSDB2)].VLCHA.STAFF_CASE_ASIGN.IX_SCA_RPTNBR_ASIGNTYPCD_ENDDT;
然后,当我去发布数据库时,我收到以下错误:
“DROP INDEX”不允许将数据库名称指定为对象名称的前缀。
所以基本上,问题在于 SSDT 发布者没有将 SSDT 编译器需要的语句转换为 SQL Server 查询引擎可以处理的语句。
有人知道我可以做些什么来解决这个问题吗?
【问题讨论】: