1

私は既存のソリューションを、単一のデータベースの代わりにマルチテナントシャードを使用するように変換しています。Azure Elastic Sc​​aleを使用して、複製されたシャードされたデータベースを照会する方法はありますか?

私のプライマリデータベースは、2次のAzure領域(アクティブなジオレプリケーション)に複製されます。このレプリケート・データベースを使用して、一部のデータをフェッチしてプライマリ・データベースの負荷を軽減します。

すべてのシャードをShard Managerデータベースと一緒に複製したいので、複製されたShard Manager dbを介して複製テナントデータベースに接続できます。

問題は、複製されたShard Managerデータベースが、プライマリデータベースサーバー上にあるシャードへの接続を返してしまうことです。

複製シャードマネージャーDBが複製シャードへの接続を強制的に戻す方法はありますか?

答えて

0

ShardMapから元のシャードの位置を取得し、データベースサーバーを変更して接続文字列を作成しました。

var replicatedConnectionString = new SqlConnectionStringBuilder(shardedConnectionString); 
replicatedConnectionString.DataSource = "replicated-db.database.windows.net"; 

replicatedConnectionString.InitialCatalog = shardMap.AsListShardMap<int>() 
                .GetMappingForKey(shardingKey) 
                .Shard 
                .Location 
                .Database; 
関連する問題