gpt4 book ai didi

sql-server - 数据库中已经有一个名为 I_XXXRECID 的对象

转载 作者:行者123 更新时间:2023-12-03 17:07:25 26 4
gpt4 key购买 nike

同步 DataDictionary 时出现此错误。

SQL error description: [Microsoft][SQL Server Native Client 11.0][SQL Server]There is already an object named 'I_100013RECID' in the database.

SQL statement: ALTER TABLE "DBO".ACOCOSTCENTERATTRIBUTEVALUE_BR ADD CONSTRAINT I_100013RECID PRIMARY KEY NONCLUSTERED (RECID)

我复制了整个业务和代码数据库并创建了新的 AX Env。我不确定源 Env 是否也存在此错误,但我想在新 Env 上解决此问题。

我已经尝试过的:

  • 从 SQL Server Management Studio 中删除了表,然后从 AOT 同步但错误仍然存​​在。

  • 试图从 SSMS 中删除索引名称:

    DROP INDEX I_100013RECID ON [ACOCOSTCENTERATTRIBUTEVALUE_BR]

    但是出现这个错误:

Cannot drop the index 'ACOCOSTCENTERATTRIBUTEVALUE_BR.I_100013RECID', because it does not exist or you do not have permission.

但是在查询索引时,它显示了正确的表:

select object_name(object_id) from sys.indexes WHERE name =  'I_100013RECID'

输出:

   dbo.ACOCOSTCENTERATTRIBUTEVALUE_BR
  • 在检查 sys.indexes 时,有一个索引名为:

enter image description here

  • 但是索引在表中是不可见的:

enter image description here

编辑 1:附加信息

表ID没有冲突:

enter image description here

来自 SSMS 的表:

enter image description here

从 SSMS 中删除表:

enter image description here

在 3 个索引中,当我从 SSMS 中删除表时,为什么 2 个索引没有被删除?为什么只有1个被删除?同步后检查下面的 3 个索引。如何摆脱这些? SSMS 不允许我删除它,提示“无法修改目录”。我可以尝试通过更改主数据的设置来删除它吗?我不确定目录中填充了与此表相关的所有表。

再次从 AOT 同步:

enter image description here

最佳答案

ACOCostCenterAttributeValue_BR 是否在您的环境中使用过?我想不会,除非你与巴西公司合作。

我建议你

  1. 暂时将表上的 ConfigurationKey 从 LedgerBasic 更改为 SysDeletedObjects63。
  2. 右键单击表,单击“同步”。它将从 SQL 数据库中删除该表。
  3. 尝试再次运行完整的数据库同步,确保没有错误。
  4. 从您正在工作的层中删除 ACOCostCenterAttributeValue_BR 表。它将使用 ConfigurationKey = LedgerBasic 恢复表的 SYS 层版本。
  5. 右键单击表,单击“同步”。它将在 SQL 数据库中创建表。如果此时您开始收到数据库同步错误,则意味着您的数据库中出现了其他问题,例如另一个表具有同名 (I_100013RECID) 或类似名称的索引。

关于sql-server - 数据库中已经有一个名为 I_XXXRECID 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55890744/

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