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

时间:2019-01-30 22:27:46

标签: sql-server-2017 sql-query-store

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

此论坛中的一个类似问题的答案不适用-没有排除项。 我跑了:

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

我也运行了所有这些,引用了下面的链接,数据库上下文是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返回匹配的实际和期望状态。

我是sysadmin角色成员,实际上安装了30台以上的生产服务器,这是唯一的错误。

服务器负载很重,除了Solarwinds DPA之外,我还需要其他方面的注意。我还运行过sp_blitzquerystore,但它从顶部查询返回一个空行集,而从第二个查询返回两个优先级255行。

到底我做错了什么?有任何线索吗?

1 个答案:

答案 0 :(得分:0)

我知道这是一篇旧文章,但是对于那些来这里寻找答案的人:我确实看到您使用OPERATION_MODE = READ_ONLY进行了查询。这会将它置于read-only模式下-一种仅读取查询存储中存储的内容而不会收集任何其他信息的模式。如果查询存储从未处于READ_WRITE模式,将不会显示任何信息。

如果以前曾经处于READ_WRITE模式,但您仍然看不到任何内容,则可能是服务器上的繁重负载将查询计划从缓存中推出了。