首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图修复查询存储,但不存在sp_query_store_consistency_check

试图修复查询存储,但不存在sp_query_store_consistency_check
EN

Database Administration用户
提问于 2019-05-07 05:11:11
回答 1查看 587关注 0票数 3

我们的Server 2016标准(SP2 CU6)数据库上的查询存储已进入ERROR状态,我们现在正试图将其恢复联机。我看到的关于QS疑难解答的所有文章(例如这一个,甚至微软自己的文档)都建议这样做:

代码语言:javascript
复制
ALTER DATABASE [QDS] SET QUERY_STORE = OFF
exec [QDS].dbo.sp_query_store_consistency_check
ALTER DATABASE [QDS] SET QUERY_STORE = ON
ALTER DATABASE [QDS] SET QUERY_STORE (OPERATION_MODE = READ_WRITE)

但是在我们的实例中,过程sp_query_store_consistency_check似乎并不以任何形式存在。我们少了什么?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2019-05-07 15:41:24

与其他与查询存储相关的DMV、函数等类似,sp_query_store_consistency_check位于"sys“模式中,而不是dbo模式中。我想这只是特蕾西博客上的一个错误。尽管如此,即使在引用dbo模式时,该命令也应该工作。

您还需要从启用查询存储的用户数据库中调用该过程。试试这个:

代码语言:javascript
复制
USE YourDatabaseName;
GO

EXEC sys.sp_query_store_consistency_check;

托尼在注释中提到,他在任何地方都找不到存储过程定义。这是典型的扩展存储过程。在它上运行EXEC sp_helptext 'sys.sp_query_store_consistency_check';,即使是从DAC连接上运行,也会返回以下内容:

代码语言:javascript
复制
Text
-----------------
(server internal)

不过,您可以在sys.all_objects中看到它:

代码语言:javascript
复制
SELECT 
    [name],
    [type_desc],
    is_ms_shipped
FROM sys.all_objects 
WHERE [name] LIKE '%consistency%';

结果:

代码语言:javascript
复制
name                              type_desc                 is_ms_shipped
--------------------------------- ------------------------- -------------
sp_query_store_consistency_check  EXTENDED_STORED_PROCEDURE 1

我的错,我刚刚意识到你是在Server 2016。上述过程是在Server 2017中介绍的。

我所知道的使查询商店在2016年恢复到良好状态的唯一方法是清除所有数据:

代码语言:javascript
复制
ALTER DATABASE [YourDatabaseName] 
SET QUERY_STORE CLEAR ALL;
票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/237521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档