查询存储已配置,但在任何负载下显示 none 我的查询

Query Store is configured but none of my queries under any load show up

SQL Server 2017 企业查询存储根本不显示任何数据,但显示 READ_ONLY 作为实际模式

此论坛中的一个类似问题的答案不适用 - none 存在排除项。 我运行:

GO
ALTER DATABASE [MyDB] SET QUERY_STORE (OPERATION_MODE = READ_ONLY, INTERVAL_LENGTH_MINUTES = 5, QUERY_CAPTURE_MODE = AUTO)
GO

我也运行所有这些,参考了下面的link,数据库上下文是MyDB:

https://docs.microsoft.com/en-us/sql/relational-databases/performance/best-practice-with-the-query-store?view=sql-server-2017

ALTER DATABASE MyDB SET QUERY_STORE = ON;

SELECT actual_state_desc, desired_state_desc, current_storage_size_mb,   
    max_storage_size_mb, readonly_reason, interval_length_minutes,   
    stale_query_threshold_days, size_based_cleanup_mode_desc,   
    query_capture_mode_desc  
FROM sys.database_query_store_options; 

ALTER DATABASE MyDB SET QUERY_STORE CLEAR; 

-- Run together...
ALTER DATABASE MyDB SET QUERY_STORE = OFF;
GO
EXEC sp_query_store_consistency_check
GO
ALTER DATABASE MyDB SET QUERY_STORE = ON;
GO

没有发现问题。 SELECT returns 匹配实际和期望状态。

我是一个系统管理员角色成员,实际上设置了所有 30 多个生产服务器,这是唯一的恶作剧。

服务器负载很重,除了 Solarwinds DPA 之外,我还需要内部监控。我也 运行 sp_blitzquerystore 但它 returns 来自顶部查询的空行集,只有来自第二个查询的两个优先级 255 行。

我究竟做错了什么?请问有什么线索吗?

我知道这是一个旧的 post 但对于那些来这里寻找答案的人:我确实看到你 运行 OPERATION_MODE = READ_ONLY 的查询。这会将其置于 read-only 模式 - 一种只读取存储在查询存储中的内容而不收集任何其他信息的模式。如果查询存储从未处于 READ_WRITE 模式,则不会显示任何信息。

如果它之前一直处于 READ_WRITE 模式,而您仍然没有看到任何东西,则可能是服务器上的重负载正在将查询计划推出缓存。