Query Store 不记录任何数据

Query Store does not record any data

我已经为我的两个数据库(接受和生产)启用了查询存储,它们都在 SQL Server 2016 Standard Edition 的同一实例上 运行。 查询存储在验收数据库上记录查询历史,但在生产数据库上不记录任何数据。

这两个数据库的配置完全相同,除了只为生产数据库启用的镜像。使用的镜像模式为"High safety with automatic failover (synchronous)".

引入了查询存储功能来监控性能,并且仍在不断发展。它有一些已知的限制。

As of now, it does not work on Read-Only databases (Including read-only AG replicas). Since readable secondary replicas are read-only, the query store on those secondary replicas is also read-only. This means runtime statistics for queries executed on those replicas are not recorded into the query store.

查询存储的已知限制

  1. 没有关于谁 运行 / 哪个程序 运行 的信息,因为查询存储不提供与应用程序名称相关的数据。
  2. 无法为 master 或 tempdb 等系统数据库启用查询存储
  3. 缺乏控制 - 多个 DBA 可以更改设置
  4. 数据存储在主文件组
  5. 在批处理级别捕获的数据不可用。
  6. 从 SQL Server 2017
  7. 开始可用的查询等待统计存储
  8. 统计信息收集间隔 INTERVAL_LENGTH_MINUTES 不允许任意值。 (1、5、10、15、30、60 或 1440 分钟)