3

我在为我们的系统创建新分片时遇到了麻烦。我有一个已经分片的数据库,有两个分片。

0-280000
280000-inf

我正在使用微软提供的这个应用程序。

使用上面的应用程序,我选择添加分片,当我尝试添加新分片并输入 400000 作为新的高键时,执行操作,最后当它尝试添加范围映射时,我收到以下错误。

错误

{"无法添加分片映射'UserID'中引用分片'[DataSource=xxxxxxxxxxxxxx Database=xxxxxx]'的映射,因为它所覆盖的范围已被另一个映射映射。执行存储过程'__ShardManagement.spBulkOperationShardMappingsGlobalBegin'进行操作时出错'AddRangeMapping'。如果另一个并发用户已经添加了覆盖给定范围的映射,则可能会发生这种情况。"}

在这方面的任何帮助将不胜感激。

4

1 回答 1

5

如果您的第二个分片实际上是 280000-inf,inf 表示无穷大,那么您收到的错误是正确的。第二个分片已经包含 400000 的映射。您需要拆分第二个分片,而不是添加一个分片。请查看拆分合并工具。

于 2015-10-16T11:47:30.607 回答