Sql server 2005 SQL 2005 Management Studio在尝试将更改保存到“设计”视图中的表时引发语法错误
就在最近,SQL2005ManagementStudio在试图保存对表的更改时开始抛出语法错误。这些表是在设计视图中创建的,而不是作为TSQL脚本Sql server 2005 SQL 2005 Management Studio在尝试将更改保存到“设计”视图中的表时引发语法错误,sql-server-2005,ssms,Sql Server 2005,Ssms,就在最近,SQL2005ManagementStudio在试图保存对表的更改时开始抛出语法错误。这些表是在设计视图中创建的,而不是作为TSQL脚本 'Build_Group' table - Unable to create index 'PK_Build_Group'. Incorrect syntax near ','. 根据错误,在主键上重新创建聚集索引似乎失败了,但这是一个完全由SQL自动完成的过程,它自己在后台生成TSQL,对表的更改不是对键字段的更改,即之前生成的聚集索引现在失败了
'Build_Group' table
- Unable to create index 'PK_Build_Group'.
Incorrect syntax near ','.
根据错误,在主键上重新创建聚集索引似乎失败了,但这是一个完全由SQL自动完成的过程,它自己在后台生成TSQL,对表的更改不是对键字段的更改,即之前生成的聚集索引现在失败了
SQL的安装已经一年多了,我每天都在使用它,没有任何问题。据我所知,环境没有任何变化
有人见过这个吗
==编辑为原始版本==============================
下面是生成的更改脚本
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.Build_Group ADD CONSTRAINT
PK_Build_Group PRIMARY KEY CLUSTERED
(
build_group_pk
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
COMMIT
WITH行上出现语法错误。如果我删除两个允许选项,它将运行。我的建议如下:
1) 重新启动电脑2) 输入SSMS
3) 右键单击表格并选择“刷新”
4) 打开表格,右键单击并选择“设计”,然后进行更改
5) 单击“生成更改脚本”工具栏图标(或从菜单-“表格设计器”然后单击“生成更改脚本”)
6) 存储此更改脚本的副本
7) 尝试保存该表
8) 如果仍然出现错误,请编辑问题以包含更改脚本我在对SQL Server 2000服务器/数据库使用SSMS v10(SQL 2008)时遇到同样的问题。如果我在设计器中创建了一个包含几列的表,并且还使用设计器设置了一个主键,那么请将脚本表另存为>创建到>新建查询窗口,它将生成语法不正确的SQL
Msg 170, Level 15, State 1, Line 58
Line 58: Incorrect syntax near '('.
删除两个ALLOW选项对我不起作用,但是删除整个WITH子句确实解决了这个问题。不管这样做是否正确,为什么SMS会生成错误的脚本?没有。从未见过这样的错误。可能是修补程序或SP出现故障?如果你在网上找不到任何东西,我建议重新安装SQL Server。我想到的一件事是,我也在这个盒子上试用了SQL 2008,大约一周前过期了……只是抛出了一些奇怪的想法。当我运行此命令时:
create table Build\u Group(Build\u Group\u pk int not null,aaa int,bbb int)
然后是你的脚本,它在我的SQLServer2005SystemKM上运行得很好,这实际上不是我认为脚本是否有缺陷的问题,因为我没有。我的问题更符合为什么它突然停止工作的路线。我当然可以重新安装,但我想知道这个问题以前是否出现过,也许有一些标志被绊倒了,我可以重新设置。