繁体   English   中英

SQL Server 2012中序列的自动缓存大小调整

[英]Automatic cache sizing for sequences in SQL Server 2012

我试图使用下面的T-SQL脚本在SQL Server 2012中创建序列:

Create Sequence ConteoCycling  
AS int   
START WITH 2
MINVALUE 0
MaxVALUE 4
INCREMENT BY 1   
GO

我给了它一个最小(0)和最大(4)范围值,以便一旦消耗了给定范围,它就会自动回收。 创建成功后,我在SQL Server Management Studio的输出窗口的“消息”选项卡中看到以下消息。 这条消息是我的困惑点:

高速缓存大小大于可用值的数量; 缓存
大小已自动设置为可容纳其余序列值。

因此,该消息表明它能够自动设置缓存大小。 但是,当我从对象资源管理器进入序列的属性窗口时,它没有显示任何特定的缓存大小,而是选择了“ Default size缓存选项,如下面的快照所示:

在此处输入图片说明

我的问题是-

根据我为序列选择的范围,如果SQL Server引擎能够以某种方式猜测通过该序列运行所需的缓存大小,那么为什么它没有设置特定的大小。

为什么仍然显示“ Default Size选项已选中? 如果将其设置为“ Default Size选项,它是否具有某种本质上的动态性? 如果有人能启发我关于序列创建和回收过程中序列的缓存大小方面,SQL Server引擎在后台进行的工作,那将是很棒的事情?

这条消息是我的困惑点:

高速缓存大小大于可用值的数量; 缓存大小已自动设置为容纳其余序列值

消息 (斜体)不正确..请参见为此提出的连接项 ,我再也无法在SQLServer 2016开发人员版上重现该问题。

连接项目中的相关项目:

感谢您举报。 该行为是完全正确的。 该消息表示高速缓存大小大于剩余序列值的数量。 实际上,我们没有为缓存大小存储与alter / create sequence语句中指定的值不同的值。

此处的实际错误是消息说明其他内容。 我们将在以后的版本中修复此问题。

由Jan [MSFT]发表于2012/4/27上午9:41
再次感谢您报告此问题。 我们已经修复了该消息,并且该修复程序将在SQL Server的将来更新中可用。

消息我正在为您的测试方案使用SQL2016开发人员版。

序列对象“ ConteoCycling”缓存大小大于可用值的数量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM