在我的工作中,我们有很多我们跟踪版本的对象。我们正在尝试创建大量序列对象以跟踪这些版本。我担心的是 sql server 可能有我们可以创建的最大数量,但我找不到任何此类文档。
那么,在 SQL Server 2014 和 2016 中是否可以创建最大数量的序列?
在我的工作中,我们有很多我们跟踪版本的对象。我们正在尝试创建大量序列对象以跟踪这些版本。我担心的是 sql server 可能有我们可以创建的最大数量,但我找不到任何此类文档。
那么,在 SQL Server 2014 和 2016 中是否可以创建最大数量的序列?
什么是
Sequence
?MSDN 上的序列定义参考。
好的,这是一个模式绑定的用户定义对象。
User Defined Objects
关于我们可以拥有多少,SQL 是怎么说的?MSDN 上最大 UDF 参考。
总结答案:一个数据库中可以有 2,147,483,647 个对象。引用的对象之一将属于
Sequence Objects
该Sequences
类别。这没有明确说明,但可以从措辞“...数据库中所有对象的数量总和不能超过 2,147,483,647”来设计。补充 Shaulinator 的回答:
maximum_value
sys.sequences
的最大值是序列对象的数据类型支持的最大值。如果您使用 int 作为对象的数据类型,则最大值为 2,147,483,647。
如果您使用 bigint 作为对象的数据类型,则最大值为 9,223,372,036,854,775,807
您应该
is_exhausted
在 sys.sequences 表中进行监视并确保它不是 1。