【问题标题】:Cannot enable Query Store on SQL Azure database无法在 SQL Azure 数据库上启用查询存储
【发布时间】:2017-10-11 12:03:40
【问题描述】:

我们的一个 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 查询存储切换为 READ-WRITE,以便再次开始收集性能统计信息?

【问题讨论】:

  • 请允许我与 Microsoft 工程师分享此内容。让我试着寻求帮助。
  • 那太好了,阿尔贝托,谢谢。我正在考虑提出一张 Azure 票,但我想我会先在这里问。

标签: sql-server azure azure-sql-database sql-query-store


【解决方案1】:

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

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

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

【讨论】:

  • 谢谢,现在可以使用了。我运行了上面的语句,将 [QueryStoreDB] 和 [DatabaseOne] 替换为我的数据库名称。然后我运行该语句将操作模式设置为 READ_WRITE,它按预期工作。不确定是打开/关闭查询存储、运行一致性检查还是只是使用正确的数据库名称而不是 [QueryStoreDB] 修复它??
  • 我很高兴知道它现在已修复。谢谢你让我知道。享受 SQL Azure!
  • 步骤 1 (SET QUERY_STORE CLEAR) 并等待一分钟,然后自动设置 OPERATION_MODE = READ_WRITE。由于 Sql Azure 中的权限,无法运行第 2 步。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-22
  • 2021-07-02
相关资源
最近更新 更多