sql-server - 语法错误:OPTIMIZE_FOR_SEQUENTIAL_KEY
问题描述
我正在尝试在 Azure DevOps 构建管道中构建一个在 Visual Studio 中创建的 SQL 数据库项目。但是,当我构建数据库项目时,出现以下错误:
错误 SQL46010:OPTIMIZE_FOR_SEQUENTIAL_KEY 附近的语法不正确
我目前正在从 SSMS 18 中导出脚本,并将它们导入到我的 Visual Studio 项目中。当前的“目标平台”设置为“ Azure SQL 数据库”。
注意:具有 OPTIMIZE_FOR_SEQUENTIAL_KEY 的脚本是我的 CREATE 脚本的一部分,如下所示:
CREATE TABLE [Table1](
[Id] [bigint] IDENTITY(1,1) NOT NULL,
[VALUE1] [bigint] NOT NULL
CONSTRAINT [ID] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [Table1] WITH CHECK ADD CONSTRAINT [Table2FK] FOREIGN KEY([Table2FKID])
REFERENCES [Table2])
GO
此外,以下是 SSMS 中显示的兼容性级别:
我真的很感激任何帮助。谢谢你。
解决方案
删除, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF
,将解决问题。
出现这个问题的原因是你本地生成的sql脚本是按照最新的sql server 2019生成的,可能devops中使用的sql server版本不一致,导致报错。
我之前在sql server2019上生成的脚本,在sql server2008上运行,出现的错误和你的一样。
推荐阅读
- python - 有没有办法使用 awk 或 python 将模式打印到新文件?
- python - 批处理脚本管道并重定向到文件
- python - docker compose links hastname 在 python 中找不到
- laravel - 在 Elastic Beanstalk 中插入新的 Nginx conf
- c# - 将多个表单条目添加到列表
ASP.NET 核心 - reactjs - Preact bundle size 与 create-react-app 相比太大了吗?
- javascript - 将参数(变量)传递给已经可以从闭包中访问它们的函数是否有意义?
- pine-script - 如何编写 pinescript 以使信号在整个历史中显示?
- java - 欢迎监听器不起作用(Java Discord JDA)
- date - Tableau 日期函数和 Y0Y 比较