语法错误:OPTIMIZE_FOR_SEQUENTIAL_KEY

rik*_*481 24 sql-server visual-studio

我在 Microsoft SQL Server Management Studio 中创建了一个表,该表运行良好,构建时没有错误。然后,当显示以下消息时,我正在将脚本复制到我在 Visual Studio 中的项目中:

SQL80001:语法错误 'OPTIMIZE_FOR_SEQUENTIAL_KEY'

我不知道为什么会这样,但是此错误显示在代码的这一行中:

(PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF  )
Run Code Online (Sandbox Code Playgroud)

你们知道为什么 Visual Studio 会显示该错误消息吗?我该如何解决?

Dan*_*man 39

确保数据库项目的目标平台是 SQL Server 2019 或 Azure SQL 数据库,其中OPTIMIZE_FOR_SEQUENTIAL_KEY引入了该选项。该语法在早期版本中是不允许的。


小智 13

要解决这个问题,请从您的语法中删除以下语句;

, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF  
Run Code Online (Sandbox Code Playgroud)


Hoq*_*dul 12

发生错误的原因是新语法在旧版本的 SQL Server 中不起作用。因此您可以应用解决方案,它将按您的预期工作如果您使用 SQL Server Management Studio 生成脚本来克隆表结构,请更改 SQL Server来自 sql server Management Studio 的版本

生成适当脚本的步骤:

步骤1: 右键单击数据库名称,如下图所示 在此输入图像描述

第2步:然后单击生成脚本,然后单击下一步,然后选择特定的表名称,如图所示 在此输入图像描述

第三步:然后点击高级设置,如图在此输入图像描述

第 4 步:然后根据您想要放置脚本的位置选择 SQL Server 版本:) 享受 在此输入图像描述

步骤5:然后设置要保存脚本的路径然后完成


nhu*_*uvy 10

导出 SQL 脚本时,请选择低于 2019 的特定版本。