現象
クエリストアの自動データクリーンアップは、Enterprise と Developer 以外の SQL Server 2016 エディションで失敗する可能性があります。 そのため、データが手動で削除されていない場合は、構成された上限に達するまで、クエリストアで使用される領域が時間の経過と共に増加します。 この問題が解決しない場合は、クリーンアップを実行しようとするたびに、ダンプファイルが生成されるため、エラーログに割り当てるディスク領域がいっぱいになります。 クリーンアップのアクティブ化の周期は、負荷の頻度によって異なります。 ただし、15分を超えることはありません。
解決方法
この問題の修正プログラムは、SQL Server の次の累積的な更新プログラムに含まれています。
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
回避策
この問題を回避するには、Enterprise と Developer 以外のエディションでクエリストアを使用する予定がある場合は、クリーンアップポリシーを明示的に無効にする必要があります。 これは、SQL Server Management Studio ([データベースプロパティ] ページ) から、または次の Transact-sql スクリプトを使用して実行できます。
ALTER DATABASE database_name SET QUERY_STORE (OPERATION_MODE = READ_WRITE、CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 0)、SIZE_BASED_CLEANUP_MODE = OFF)さらに、手動クリーンアップオプションを検討して、クエリストアが読み取り専用モードに移行されないようにします。 たとえば、次のクエリを実行して、スペースを定期的に消去します。
ALTER DATABASE database_name SET QUERY_STORE CLEARまた、次のクエリストアストアドプロシージャを定期的に実行して、実行時の統計、特定のクエリ、またはプランを消去します。
-
sp_query_store_reset_exec_stats
-
sp_query_store_remove_plan
-
sp_query_store_remove_query
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
Microsoft でソフトウェアの更新について説明する 用語 について説明します。