2

我想将 shardlet 从一个分片移动到另一个分片。我正在使用 Azure Elastic Sc​​ale 库和提供的拆分/合并/移动示例。

尝试移动 shardlet 时,我不断收到错误消息,因为该工具正在将(引用)表复制到不同的分片,但顺序错误。该工具正在尝试复制与该Firmware表具有 FK 关系的User表。但是,此User表尚未复制,因此当它尝试执行INSERT命令时,由于不满足 FK 关系而失败。

该网站上的文档说明如下:

引用完整性:拆分/合并服务分析表之间的依赖关系,并使用外键-主键关系来暂存移动引用表和 shardlet 的操作。通常,引用表首先按依赖顺序复制,然后 shardlet 在每个批次中按照它们的依赖顺序复制。这是必要的,以便在新数据到达时遵守目标分片上的 FK-PK 约束。

有没有办法在处理表格时管理订单?

也许通过改变他们注册的顺序?

4

1 回答 1

1

您能否再次检查两个表(固件和用户)是否在分片映射的 SchemaInfoCollection 中注册为引用表?拼写,大写与小写...

Split/Merge 使用 SchemaInfoCollection 中的信息来获取引用表的列表,然后分析它们的依赖关系。因此,除非我们有错误,否则应该注意这种情况。

如果您在分片映射中有正确的信息,这将是我们想要查看的错误。让我知道事实是否如此。您可以通过 torsteng(at)microsoftDOTcom 与我联系。

谢谢,托斯滕

于 2015-02-05T07:18:03.453 回答