无法在 SQL Azure 数据库上启用查询存储



我们的一个Azure SQL数据库最近空间不足,我相信这导致查询存储切换到"READ_ONLY"。

我增加了数据库的大小,但是即使运行此查询,这也没有导致状态更改:

SELECT desired_state_desc, actual_state_desc, readonly_reason, current_storage_size_mb, max_storage_size_mb 
FROM sys.database_query_store_options

建议有足够的可用空间:

desired_state_desc  actual_state_desc   readonly_reason current_storage_size_mb max_storage_size_mb
READ_WRITE          READ_ONLY           524288          522                     1024

我尝试通过运行以下语句(作为数据库服务器管理员用户)将查询存储状态更改为Read_Write:

ALTER DATABASE [QueryStoreDB]   
SET QUERY_STORE (OPERATION_MODE = READ_WRITE)

但是,该语句失败,出现以下错误:

User does not have permission to alter database 'QueryStoreDB', the database does not exist, or the database is not in a state that allows access checks.

是否有人管理将SQL Azure查询存储切换到读写,以便再次开始收集性能统计信息?

首先,让我们尝试清除查询存储:

ALTER DATABASE [QueryStoreDB]   
SET QUERY_STORE CLEAR;  
GO

如果这不起作用,让我们运行一致性检查。

ALTER DATABASE [DatabaseOne] SET QUERY_STORE = OFF;  
GO
sp_query_store_consistency_check
GO
ALTER DATABASE [DatabaseOne] SET QUERY_STORE = ON;  
GO

在以下文章中尝试更多选项来解决此问题:

最新更新