Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 弹性工具-如何为不同的服务器创建碎片_C#_Azure Sql Database_Sharding_Azure Elastic Sharding - Fatal编程技术网

C# 弹性工具-如何为不同的服务器创建碎片

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

我在本地sql server上的一个名为“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和密码,以便库使用它们连接到这个新数据库并创建它的碎片

因为到目前为止还没有人回答。所以,让我自己回答这个问题,以防有人面临同样的问题

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


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

。谢谢你!