Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server 2012中序列的自动缓存大小调整_Sql_Sql Server_Sql Server 2012_Sequence - Fatal编程技术网

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

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选项卡中看到以下消息。这是我的困惑点: 缓存大小大于可

我试图在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选项卡中看到以下消息。这是我的困惑点:

缓存大小大于可用值的数目;缓存
已自动设置大小以适应剩余序列 价值观

因此消息说它能够自动设置缓存大小。但是,当我从对象资源管理器进入序列的属性窗口时,它没有显示任何特定的缓存大小,而是选择了
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”缓存大小大于可用值的数目