問題タブ [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.

0 投票する
1 に答える
514 参照

sql - クエリ ストアはデータを記録しません

SQL Server 2016 Standard Edition の同じインスタンスで実行されている 2 つのデータベース (承認と運用) に対してクエリ ストアを有効にしました。クエリ ストアは、受付データベースにクエリ履歴を記録しますが、運用データベースにはデータを記録しません。

2 つのデータベースは同じように構成されていますが、ミラーリングは運用データベースでのみ有効になっています。使用するミラーリングモードは「自動フェイルオーバーによる高安全性(同期)」です。

0 投票する
2 に答える
1130 参照

sql-server - Azure SQL - geo レプリケーションを使用した自動チューニング - サーバーが未指定の状態にあり、クエリ ストアが容量制限に達した

プライマリ データベースと、ジオレプリケートされたセカンダリ データベースがあります。プライマリでは、サーバーの自動チューニングがオンになっています。

レプリカで同じことをしようとすると、次の問題が発生します。

データベースはサーバーから設定を継承していますが、サーバーは指定されていない状態です。サーバー側の自動チューニング状態を指定してください。

クエリ ストアが容量の上限に達し、新しいデータを収集していないため、推奨事項の自動管理は無効になっています。新しいデータを収集できるようにクエリ ストアを維持するための保持ポリシーの詳細を確認してください。

ただし、サーバーでは、チューニングオプションがonそうであるため、その「未指定の状態」がわかりません。さらに、SSMS の両方のデータベース プロパティで設定されたクエリ ストアを見ると、10 MB のうち 9 MB のスペースが使用可能で、まったく同じです。

注: 両方のデータベースは、5 DTU の基本料金プランでセットアップされています。

アップデート

プライマリ データベース クエリ ストアの操作モードが読み取り/書き込みである場合、レプリカは読み取り専用です。変更できないようです(SSMSのデータベースのプロパティダイアログから変更できませんでした)。

当然のことですが、同じクエリをレプリカよりもプライマリで 10 倍高速にするにはどうすればよいでしょうか。最適化はコピーされませんか?

更新 2

実際、クエリ ストアは SSMS で表示でき、両方のデータベースで同一であることがわかります。私が観察した応答時間の違いは関係がないと思います。

更新 3

@vCillusionの投稿はクレジットに値するので、回答としてマークしました。ただし、実際の問題に関しては詳細すぎます。

私のレプリカは読み取り専用であり、クエリ ストアへの書き込みが必要になるため、自動調整できません。Azure が読み取り専用のクエリ ストアにデータを収集できないため、クエリ ストアが容量に達したという誤解を招く (そして間違った) エラー メッセージが表示されました。