我正在尝试构建一个,它是在Visual中在Azure DevOps build管道中创建的。但是,在构建数据库项目时,会出现以下错误:
Error SQL46010: OPTIMIZE_FOR_SEQUENTIAL_KEY附近的不正确语法
我目前正在从SSMS 18导出脚本,并将它们导入到我的Visual项目中。当前的“目标平台”设置为“Azure SQL数据库”。
注意:具有OPTIMIZE_FOR_SEQUENTIAL_KEY的脚本是我创建脚本的一部分,如下所示:
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中所示的兼容性级别:
我真的很感谢你的帮助。谢谢。
发布于 2021-05-17 01:58:55
删除, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF
,将解决问题。
造成此问题的原因是,本地生成的sql脚本是根据最新的sql server 2019年生成的,在devops中使用的sql服务器版本可能不一致,从而导致错误发生。
我之前在sql server2019上生成的脚本,在sql server2008中运行它,所发生的错误与您的相同。
发布于 2022-04-04 18:45:46
我们在Server 2019合并复制快照脚本中遇到了此问题。将数据库兼容性级别设置为2017,并通过删除"OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF“选项修复快照脚本。我们的订户是2017年。因此,我认为您将获得相同的结果,而无需手工删除该选项的工作和时间。
https://stackoverflow.com/questions/67517154
复制相似问题