C# 弹性工具-如何为不同的服务器创建碎片
我在本地sql server上的一个名为“ShardTesting”的数据库中创建了一个碎片映射。我还在同一台服务器上创建了另外两个数据库:shard1和shard2 现在我可以在主ShardTesting数据库中为这两个shard1和shard2数据库创建碎片和映射,但我无法为Azure上其他服务器上的任何数据库创建碎片。我得到一个登录错误,代码无法登录到这个新数据库 这就是我创建碎片的方式C# 弹性工具-如何为不同的服务器创建碎片,c#,azure-sql-database,sharding,azure-elastic-sharding,C#,Azure Sql Database,Sharding,Azure Elastic Sharding,我在本地sql server上的一个名为“ShardTesting”的数据库中创建了一个碎片映射。我还在同一台服务器上创建了另外两个数据库:shard1和shard2 现在我可以在主ShardTesting数据库中为这两个shard1和shard2数据库创建碎片和映射,但我无法为Azure上其他服务器上的任何数据库创建碎片。我得到一个登录错误,代码无法登录到这个新数据库 这就是我创建碎片的方式 var shardLocation = new ShardLocation(server, datab
var shardLocation = new ShardLocation(server, database);
ShardCreationInfo shardInfo = new ShardCreationInfo(shardLocation);
Shard newShard = _listShardMap.CreateShard(shardInfo);
发生的情况是,它试图使用ShardTesting数据库凭据登录到这个新的服务器数据库,这显然是错误的,因为ShardTesting是本地计算机上存储所有碎片和映射的主数据库
我看不到任何方法可以在这个新服务器和数据库中提供userId和密码,以便库使用它们连接到这个新数据库并创建它的碎片 因为到目前为止还没有人回答。所以,让我自己回答这个问题,以防有人面临同样的问题 所有服务器都应该有一个具有相同密码的相同用户。换句话说,在所有服务器中创建一个具有相同名称和密码的用户,然后ShardMapManager将能够登录到所有服务器并创建映射
我认为没有办法为每台服务器提供单独的凭据。。谢谢你!