如何启用 SQL Server 2019 的结果集缓存?

Bre*_*zar 20 sql-server sql-server-2019

SQL Server 2019 CTP 2.3 向 sys.databases 添加了一些新列,包括 is_result_set_caching_on:

系统数据库

SQL Server 2019 的新增功能ALTER DATABASE 页面中尚未记录。

我尝试使用与加速数据库恢复相同的语法只是为了笑:

ALTER DATABASE StackOverflow2013 SET RESULT_SET_CACHING ON;
Run Code Online (Sandbox Code Playgroud)

但没有运气:

Msg 5058, Level 16, State 12, Line 8
Option 'RESULT_SET_CACHING' cannot be set in database 'StackOverflow2013'.
Run Code Online (Sandbox Code Playgroud)

Sea*_*ser 10

目前,在 CTP 2.3 中,据我所知 - 即使在 DAC 下,您也无法启用此功能。

  • 你可以,只是,呃……我……(松开衣领)……寻找愿意公开记录的人。:-) (11认同)
  • ;) 还有 13 个 (4认同)

Raz*_*col 2

这是仅在 Azure Synapse Analytics 中可用的功能。

当您使用创建数据库时CREATE DATABASE DBName (EDITION = 'DataWarehouse'),您将能够使用ALTER DATABASE DBName SET RESULT_SET_CACHING ON

引用Azure Synapse Analytics 发行说明

启用结果集缓存后,查询结果会自动缓存在用户数据库中以供重复使用。这允许后续查询执行直接从持久缓存获取结果,因此不需要重新计算。结果集缓存提高了查询性能并减少了计算资源的使用。此外,使用缓存结果集的查询不使用任何并发槽,因此不计入现有并发限制。为了安全起见,用户只有与创建缓存结果的用户具有相同的数据访问权限才能访问缓存结果。有关详细信息,请参阅使用结果集缓存进行性能调整。适用于版本10.0.10783.0或更高版本。

以下是Azure Synapse Analytics 上的 ALTER DATABASE的文档页面。