sys.sequences (Transact-SQL)

适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例

数据库中的每个序列对象各占一行。

列名称 数据类型 说明
inherited columns>< 从 sys.objects 继承所有列
start_value sql_variant NOT NULL 序列对象的起始值。 如果使用 ALTER SEQUENCE 重新启动序列对象,它将以此值重新启动。 当序列对象循环到minimum_value或maximum_value时,而不是start_value
increment sql_variant NOT NULL 用于在每个生成值后使序列对象递增的值。
minimum_value sql_variant NULL 序列对象可以生成的最小值。 在达到此值后,序列对象将在尝试生成多个值时返回错误,或在指定 CYCLE 选项时重新启动。 如果未指定 MINVALUE,则此列返回序列生成器数据类型支持的最小值。
maximum_value sql_variant NULL 序列对象可以生成的最大值。 在达到此值后,序列对象将在尝试生成多个值时开始返回错误,或在指定 CYCLE 选项时重新启动。 如果未指定任何 MAXVALUE,此列将返回序列对象的数据类型所支持的最大值。
is_cycling bit(非 NULL) 如果为序列对象指定 NO CYCLE,则返回 0;如果指定 CYCLE,则返回 1。
is_cached bit(非 NULL) 如果为序列对象指定 NO CACHE,则返回 0;如果指定 CACHE,则返回 1。
cache_size int NULL 返回序列对象的指定缓存大小。 如果创建序列时使用了 NO CACHE 选项或者指定了 CACHE 但未指定缓存大小,此列将包含 NULL。 如果缓存大小指定的值大于序列对象可以返回的值的最大数量,仍会显示该无法获得的缓存大小。
system_type_id tinyint(非 NULL) 序列对象的数据类型的系统类型的 ID。
user_type_id int NOT NULL 用作用户定义的序列对象的数据类型的 ID。
精度 tinyint(非 NULL) 数据类型的最大精度。
scale tinyint(非 NULL) 数据类型的最大小数位数。 小数位数与精度一起返回,以便为用户提供完整的元数据。 由于序列对象只允许使用整数类型,因此其小数位数始终为 0。
current_value sql_variant NOT NULL 强制的最后一个值。 也就是说,从 NEXT VALUE FOR 函数的最新执行返回的值或执行 sp_sequence_get_range 过程的最后一个值。 如果从未使用过该序列,则返回 START WITH 值。
is_exhausted bit(非 NULL) 0 表示可从序列中生成多个值。 1 表示序列对象已达到 MAXVALUE 参数,该序列未设置为 CYCLE。 使用 ALTER SEQUENCE 重新启动序列之前,NEXT VALUE FOR 函数将返回错误。
last_used_value sql_variant NULL 返回下一个值 For 函数生成的最后一个值。 适用于 SQL Server 2017 及更高版本。

权限

在 SQL Server 2005(9.x)及更高版本中,目录视图中元数据的可见性仅限于用户拥有或向其授予某些权限的安全对象。 有关详细信息,请参阅 Metadata Visibility Configuration

另请参阅

序列号
CREATE SEQUENCE (Transact-SQL)
ALTER SEQUENCE (Transact-SQL)
DROP SEQUENCE (Transact-SQL)
NEXT VALUE FOR (Transact-SQL)
sp_sequence_get_range (Transact-SQL)