Microsoft SQL Server Management Studio 18/19找不到序列及创建序列报错咨询
SQL Server 创建SEQUENCE失败问题原因
- 数据库兼容级别过低
SEQUENCE 是 SQL Server 2012 版本才引入的功能,若当前操作的数据库兼容级别低于110(对应SQL Server 2012版本标识),就会触发语法报错,同时SSMS不会显示对应数据库下的Sequences文件夹。
验证方式:执行命令SELECT compatibility_level FROM sys.databases WHERE name = '目标数据库名称';,若返回值小于110即可确认。
解决方案:若SQL Server实例版本为2012及以上,可执行命令调整兼容级别:
ALTER DATABASE 目标数据库名称 SET COMPATIBILITY_LEVEL = 110;
可根据实际实例支持的版本选择更高的兼容级别,例如150对应SQL Server 2019。
- SQL Server 实例版本不支持
若当前使用的是SQL Server 2008 R2及更早的实例版本,本身无SEQUENCE功能,无论语法是否正确都会触发报错,也无对应Sequences文件夹。此场景下可改用IDENTITY自增列实现类似需求,或升级SQL Server实例版本。 - 操作账号权限不足
当前登录数据库的账号缺少CREATE SEQUENCE或对应SCHEMA的ALTER权限时,会触发创建失败,同时SSMS可能因权限不足无法加载Sequences节点。可联系数据库管理员执行授权命令:
GRANT CREATE SEQUENCE ON SCHEMA::目标Schema名称 TO 操作用户名;
- 语法适配错误
注意不要混淆SQL Server与其他数据库的SEQUENCE创建语法,SQL Server标准创建语法如下:
CREATE SEQUENCE [Schema名称].[序列名称] START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 99999999 CYCLE / NO CYCLE;
若使用了不符合SQL Server规则的参数配置,也会触发语法报错。
内容的提问来源于stack exchange,提问作者larisagg
相关产品推荐
相关产品推荐

