【问题标题】:Elastic tools - How to create shards for different servers弹性工具 - 如何为不同的服务器创建分片
【发布时间】:2023-03-28 04:28:01
【问题描述】:

我在本地 sql 服务器上的名为“ShardTesting”的数据库中创建了一个分片映射。我还在同一台服务器上创建了另外两个数据库:shard1 和 shard2。

现在我可以在主 ShardTesting 数据库中为这两个(shard1 和 shard2)数据库创建分片和映射,但我无法为 Azure 上另一台服务器上的任何数据库创建分片。我收到代码无法登录到这个新数据库的登录错误。

这就是我创建分片的方式。

var shardLocation = new ShardLocation(server, database);
 ShardCreationInfo shardInfo = new ShardCreationInfo(shardLocation);
 Shard newShard = _listShardMap.CreateShard(shardInfo);

正在发生的事情是它试图使用 ShardTesting 数据库凭据登录到这个新的服务器数据库,这显然是错误的,因为 ShardTesting 是我本地计算机上用于存储所有分片和映射的主数据库。

我看不到任何方法可以提供 userId 和 Password 以及这个新的服务器和数据库,以便库使用它们连接到这个新的数据库并创建它的分片。

【问题讨论】:

    标签: c# azure-sql-database sharding azure-elastic-sharding


    【解决方案1】:

    因为到目前为止没有人回答。所以让我自己回答一下,以防有人遇到同样的问题。

    所有服务器都应该有一个相同的用户和相同的密码。换句话说,在所有服务器中创建一个具有相同名称和密码的用户,然后 ShardMapManager 将能够登录到所有服务器并可以创建映射。

    我相信没有办法为每台服务器提供单独的凭据。

    【讨论】:

    • 太棒了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 2013-10-18
    • 2019-04-09
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多