問題タブ [sql-query-store]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - クエリ ストアはデータを記録しません
SQL Server 2016 Standard Edition の同じインスタンスで実行されている 2 つのデータベース (承認と運用) に対してクエリ ストアを有効にしました。クエリ ストアは、受付データベースにクエリ履歴を記録しますが、運用データベースにはデータを記録しません。
2 つのデータベースは同じように構成されていますが、ミラーリングは運用データベースでのみ有効になっています。使用するミラーリングモードは「自動フェイルオーバーによる高安全性(同期)」です。
sql-server - Azure SQL - geo レプリケーションを使用した自動チューニング - サーバーが未指定の状態にあり、クエリ ストアが容量制限に達した
プライマリ データベースと、ジオレプリケートされたセカンダリ データベースがあります。プライマリでは、サーバーの自動チューニングがオンになっています。
レプリカで同じことをしようとすると、次の問題が発生します。
データベースはサーバーから設定を継承していますが、サーバーは指定されていない状態です。サーバー側の自動チューニング状態を指定してください。
と
クエリ ストアが容量の上限に達し、新しいデータを収集していないため、推奨事項の自動管理は無効になっています。新しいデータを収集できるようにクエリ ストアを維持するための保持ポリシーの詳細を確認してください。
ただし、サーバーでは、チューニングオプションがon
そうであるため、その「未指定の状態」がわかりません。さらに、SSMS の両方のデータベース プロパティで設定されたクエリ ストアを見ると、10 MB のうち 9 MB のスペースが使用可能で、まったく同じです。
注: 両方のデータベースは、5 DTU の基本料金プランでセットアップされています。
アップデート
プライマリ データベース クエリ ストアの操作モードが読み取り/書き込みである場合、レプリカは読み取り専用です。変更できないようです(SSMSのデータベースのプロパティダイアログから変更できませんでした)。
当然のことですが、同じクエリをレプリカよりもプライマリで 10 倍高速にするにはどうすればよいでしょうか。最適化はコピーされませんか?
更新 2
実際、クエリ ストアは SSMS で表示でき、両方のデータベースで同一であることがわかります。私が観察した応答時間の違いは関係がないと思います。
更新 3
@vCillusionの投稿はクレジットに値するので、回答としてマークしました。ただし、実際の問題に関しては詳細すぎます。
私のレプリカは読み取り専用であり、クエリ ストアへの書き込みが必要になるため、自動調整できません。Azure が読み取り専用のクエリ ストアにデータを収集できないため、クエリ ストアが容量に達したという誤解を招く (そして間違った) エラー メッセージが表示されました。