Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 SQL 2005 Management Studio在尝试将更改保存到“设计”视图中的表时引发语法错误_Sql Server 2005_Ssms - Fatal编程技术网

Sql server 2005 SQL 2005 Management Studio在尝试将更改保存到“设计”视图中的表时引发语法错误

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,对表的更改不是对键字段的更改,即之前生成的聚集索引现在失败了

就在最近,SQL2005ManagementStudio在试图保存对表的更改时开始抛出语法错误。这些表是在设计视图中创建的,而不是作为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上运行得很好,这实际上不是我认为脚本是否有缺陷的问题,因为我没有。我的问题更符合为什么它突然停止工作的路线。我当然可以重新安装,但我想知道这个问题以前是否出现过,也许有一些标志被绊倒了,我可以重新设置。