我在爲系統創建新碎片時遇到了麻煩。我有一個已經分片的數據庫,有兩個分片。添加新碎片 - Azure Elastics刻度
0-280000
280000-INF
我使用微軟提供的應用this。
使用上面的應用程序,我選擇添加分片,當我嘗試添加一個新的分片和輸入400000作爲新的高鍵,執行操作,並在最後嘗試添加範圍映射時,我得到跟隨錯誤。
ERROR
{「映射引用碎片‘[數據源= XXXXXXXXXXXXXX 數據庫= XXXXXX]’中的碎片圖‘用戶ID’不能被添加因爲 其覆蓋範圍已經被另一個映射映射。錯誤 發生而執行的存儲過程 爲 操作「AddRangeMapping」「__ShardManagement.spBulkOperationShardMappingsGlobalBegin」。如果另一併發用戶 已經加入覆蓋的給定範圍內的映射可能出現這種情況。「}
在這方面的任何幫助將不勝感激。
注意我還沒有真正嘗試過。 – MikeWo
刪除了我以前的評論。是的,那是你提到的問題。我更新了__shardmanagement.ShardMappingsGlobal和__shardmanagement.ShardMappingsLocal中的最大值。然後我嘗試運行該應用程序,併成功完成了所有步驟。 – imrn
如果您已經在該範圍內的分片中存在需要移動的分片中的數據,那麼分割合併工具是正確的方法 - 分割合併工具的主要目的是移動數據。如果沒有數據需要移動,那麼你可以使用'RangeShardMap.SplitMapping'方法來分割映射https://msdn.microsoft.com/en-us/library/azure/dn823939.aspx –