查询存储最大大小
从 SQL Server 2019 (15.x) 开始,查询存储的默认最大大小值为 1000 MB。 在以前的版本中,默认值为 100 MB。 在具有多个唯一查询计划的忙碌实例中,增加查询存储的大小可能较为合适。 调整捕获策略(见上一节)是限制查询存储的磁盘大小并防止查询存储进入 READ_ONLY 模式的重要考虑因素。 当查询存储收集查询、执行计划和统计信息时,其在数据库中的大小会一直增长,直至达到此限制。 达到此限制后,Query Store 会自动将操作模式更改为 READ_ONLY,并停止收集新数据,这意味着你的性能分析自此不再精确。
没有严格执行 MAX_STORAGE_SIZE_MB 限制。 仅当查询存储将数据写入磁盘时才检查存储大小。 此间隔由 DATA_FLUSH_INTERVAL_SECONDS 选项或 Management Studio 查询存储对话框选项“数据刷新间隔”设置。 间隔时间默认值为 900 秒(或 15 分钟)。 如果查询存储已违反存储大小检查之间的 MAX_STORAGE_SIZE_MB 限制,则它将转换为只读模式。 如果启用了 SIZE_BASED_CLEANUP_MODE,则也会触发强制实施 MAX_STORAGE_SIZE_MB 限制的清理机制。 清除足够的空间后,查询存储模式将自动切换回 READ_WRITE 模式。
有关详细信息,请参阅 ALTER DATABASE SET OPTION MAX_STORAGE_SIZE_MB 选项。
数据刷新间隔(分钟)
数据刷新间隔定义了收集的运行时统计信息保存到磁盘之前的频率。 在 SQL Server Management Studio 中,该值以分钟为单位,但在 Transact-SQL 中,该值以秒为单位表示。 默认值为 15 分钟(900 秒)。
- 增加数据刷新间隔可能会降低查询存储存储 I/O 的总体影响,但会导致存储 I/O 工作负载达到高峰,对磁盘利用率的影响较小但更严重。 如果工作负载不生成大量不同的查询和计划或者你能够接受在数据库关闭之前花更长的时间来保留数据,可考虑使用更大的值。
- 减少数据刷新间隔会减少在关闭、断电或故障转移时丢失的查询存储数据量。 它还可以通过更频繁地写入磁盘,但使用更少的数据来平滑查询存储的 I/O 影响。




