2017-02-15 10 views
0

RangeShardMappingsがオフラインとしてマークされているときに何が起こるのかをはっきりと理解しています。Azure Elastic Sc​​ale:MarkMappingOfflineは断片の検索を妨げません。

シャードとマッピングを更新および削除するには、マッピングをオフラインに設定する必要があることを理解しています。

Azure Map Managerが特定のタイミングで特定のマッピングを使用しないようにしたいと考えていますが、これをオフラインとしてマークするだけで検索結果に影響はないようです。マッピング はUpdateMappingとDeleteMapping含む「オフライン」状態にあるとき、MSドキュメント(https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-scale-shard-map-management)によれば、シャード・マッピングに

特定の操作のみが許可され

。 マッピングがオフラインの場合、そのマッピングに含まれているキー に基づくデータ依存の要求はエラーを返します。また、最初に の範囲をオフラインにすると、影響を受けるシャード へのすべての接続は、範囲が変更されたことを示すクエリに対して不一致または不完全な結果が発生しないように、自動的に強制終了されます。

しかし、これは私が経験している動作ではありません。オフラインマップはまだ結果セットを返しています。これらのマッピングはキャッシュに保存されていますか?

答えて

1

マッピングをオフラインにする主な目的は、OpenConnectionForKeyを使用して接続を防止することです。マッピングはまだ表示されています。マッピングが見えない場合は、後でオンラインに戻すことはできません。

オフラインマップはまだ結果セットを返しています。

あ、今私はあなたの質問を理解しています。シャードマップマネージャは、データベース内の基礎となるデータについての知識や制御を持ちません。つまり、シャードマップでは、クエリwhere句に、要求したマッピングと一致するフィルタが含まれていることを確認する責任があります。 row-level securityを使用して、照会が正しい結果セットのみを戻すようにすることもできます。

+0

ありがとうございました。私はOpenConnectionForKeyを使用していませんでしたが、これは今や理にかなっています。 – redstubble

関連する問題