1

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

两个数据库的配置相同,除了只为生产数据库启用的镜像。使用的镜像模式是“具有自动故障转移(同步)的高安全性”。

4

1 回答 1

0

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

截至目前,它不适用于只读数据库(包括只读 AG 副本)。由于可读辅助副本是只读的,因此这些辅助副本上的查询存储也是只读的。这意味着在这些副本上执行的查询的运行时统计信息不会记录到查询存储中。

查询存储的已知限制

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