SQL Server 2012中序列的自动缓存大小调整
我试图在SQL Server 2012中使用以下T-SQL脚本创建序列:SQL Server 2012中序列的自动缓存大小调整,sql,sql-server,sql-server-2012,sequence,Sql,Sql Server,Sql Server 2012,Sequence,我试图在SQL Server 2012中使用以下T-SQL脚本创建序列: Create Sequence ConteoCycling AS int START WITH 2 MINVALUE 0 MaxVALUE 4 INCREMENT BY 1 GO 我给了它一个最小(0)和最大(4)范围值,这样一旦给定范围被消耗,它就会自我循环。成功创建后,我在SQLServerManagementStudio输出窗口的messages选项卡中看到以下消息。这是我的困惑点: 缓存大小大于可
Create Sequence ConteoCycling
AS int
START WITH 2
MINVALUE 0
MaxVALUE 4
INCREMENT BY 1
GO
我给了它一个最小(0)和最大(4)范围值,这样一旦给定范围被消耗,它就会自我循环。成功创建后,我在SQLServerManagementStudio输出窗口的messages选项卡中看到以下消息。这是我的困惑点:
缓存大小大于可用值的数目;缓存已自动设置大小以适应剩余序列 价值观 因此消息说它能够自动设置缓存大小。但是,当我从对象资源管理器进入序列的属性窗口时,它没有显示任何特定的缓存大小,而是选择了
Default size
cache选项,如下面的快照所示:
我的问题是—
根据我为序列选择的范围,如果SQL Server引擎能够以某种方式猜测通过此序列运行所需的缓存大小,那么为什么不设置特定大小
为什么它仍然显示所选的默认大小
选项?如果设置为默认大小
选项,它在本质上是动态的吗?如果有人能告诉我SQL Server引擎在创建和回收过程中在幕后对序列的缓存大小做了什么,那就太好了
这是我的困惑点:
缓存大小大于可用值的数目;缓存
大小已自动设置为容纳剩余的序列值
该消息(斜体)不正确。请参阅引发的问题,我无法在SQLServer 2016 developer edition上重新发布该问题
连接项目的相关项目:
谢谢你的报道。这种行为总体上是正确的。该消息表示缓存大小大于剩余序列值的数量。事实上,我们存储的缓存大小值与alter/create sequence语句中指定的值不同
这里的实际错误是说明其他内容的消息。我们将在将来的版本中修复此问题
由Jan[MSFT]于2012年4月27日上午9:41发布再次感谢您报告此问题。我们已经修复了该消息,该修复将在SQL Server的未来更新中提供 我在SQL2016开发者版上收到的消息,用于您的测试场景 序列对象“ContecyCling”缓存大小大于可用值的数目