0

我在本地 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 以及这个新的服务器和数据库,以便库使用它们连接到这个新的数据库并创建它的分片。

4

1 回答 1

1

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

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

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

于 2018-06-05T18:08:33.483 回答