C# Azure弹性缩放:拆分合并教程-Can';不要劈开碎片
我按照教程创建了所有提到的内容并部署了服务。我也能正常运行它 My Elastic DB当前包含一个范围碎片,其中C# Azure弹性缩放:拆分合并教程-Can';不要劈开碎片,c#,azure,azure-sql-database,azure-elastic-scale,C#,Azure,Azure Sql Database,Azure Elastic Scale,我按照教程创建了所有提到的内容并部署了服务。我也能正常运行它 My Elastic DB当前包含一个范围碎片,其中MinValue设置为0,而MaxValue设置为无限(NULL) 然后把这个碎片一分为二。我做了以下工作: 使用与碎片1相同的架构创建了一个新数据库 运行该服务,它说目标数据库必须是碎片映射的一部分。失败 现在,为了在碎片映射管理器数据库中添加新的DB作为碎片,我下载了Nuget上提供的.Net API,修改了设置等,但它不会添加新的碎片,因为第一个碎片范围(0-无穷大)不允许。再
MinValue
设置为0
,而MaxValue
设置为无限(NULL)
然后把这个碎片一分为二。我做了以下工作:
碎片映射管理器数据库中添加新的DB作为碎片,我下载了Nuget上提供的.Net API,修改了设置等,但它不会添加新的碎片,因为第一个碎片范围(0-无穷大)不允许。再次失败:(
[\uu ShardManagement].[ShardMappingsGlobal]
表本身,它在Shard Map Manager数据库中包含这些范围映射。我去了那里,将唯一的Shard的MaxValue列设置为,比如说,20。而这个Shard包含,比如说,最多30个Shard键
MaxValue
和新碎片的MinValue
是相同的
MaxValue=NULL(无穷大)
。再次运行该服务,并收到以下错误:
源和目标映射都指向同一个shard“new_shard”谢谢。谢谢你关于拆分/合并的问题。让我们看看这是否有帮助: 根据您上面记录的步骤,您似乎在步骤3中完成了两件事:
- 将新数据库作为空碎片添加到碎片映射中,然后
- 您试图分配一个指向新添加的碎片的映射
- 拆分/合并概述:
- 碎片映射管理API:
Torsten非常感谢您的回答和链接。很抱歉我的回复太晚了,因为开斋节假期我不在家。我会这样做,并会通知你。再次感谢您的快速更新:我们已在此处发布了ShardManagement powershell模块以及一些示例脚本:。这将有助于您设置和查询现有的范围/列表映射。