添加新碎片 - Azure Elastics Scale

时间:2015-10-16 11:26:41

标签: azure azure-sql-database azure-elastic-scale

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

0-280000
280000-INF

我正在使用Microsoft提供的this应用程序。

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

错误

  

{“映射引用分片'[DataSource = xxxxxxxxxxxxxx   无法添加分片地图中的“User = xxxxxx]”'UserID',因为   它覆盖的范围已经由另一个映射映射。错误   执行存储过程时发生   '__ShardManagement.spBulkOperationShardMappingsGlobalBegin'for   操作'AddRangeMapping'。如果另一个并发用户,可能会发生   已添加覆盖给定范围的映射。“}

在这方面的任何帮助将受到高度赞赏。

1 个答案:

答案 0 :(得分:5)

如果您的第二个碎片实际上是280000-inf,其中inf意味着无穷大,那么您收到的错误是正确的。第二个分片已包含400000的映射。您需要拆分第二个分片,而不是添加分片。请改为使用split-merge工具。