SQL Server Management Studio不允许我向表添加索引


113

当我右键单击表中的索引文件夹时,“新索引”菜单项显示为灰色。我不明白为什么。我已经删除了表中的所有数据,以防万一,并刷新并重新启动SSMS,但是没有运气。我正在使用SQL Server 2012商业智能SP1 CTP。


26
如果您已经在设计器中打开了表,则会发生这种情况-除非您说重新启动了SSMS。重新启动后您是否进入了设计表?
马丁·史密斯

我确认这仍然是SQL Server 2014中的问题。–
Keith

@马丁史密斯:谢谢,这对我有用。
Bhavin Shah 2014年

带有表的数据库图也将导致这种情况。(因为它是“设计表”视图)
JDC

Answers:


259

解决方案:关闭表设计器和数据库图,然后重试。如果那没有帮助,请关闭Management Studio中的所有窗口。

原因:当表被设计器窗口锁定时,“新建索引”选项将被禁用。


15
谢谢。微软,请改善它。看到new index灰色非常令人讨厌。
瓦拉马斯2014年

1
是的,您必须关闭与该表无关的表设计器。GRR
Simon_Weaver

2
尝试添加“包含的列”时遇到相同的问题。我现在才意识到,多年来(恰好是十年),我要做的只是关闭表设计器,然后右键单击索引以选择“属性”,以便添加/编辑它们。...这些年都浪费了编写自定义脚本。 面对掌 我想我的青春回来了!
MikeTeeVee

哇,这挽救了我的一天!+1
Al Kepp '16


3

如果在设计器中打开了该表,则将其关闭。右键单击表的索引,然后选择全部重建。这将修复它...


1

在我的情况下,这是一个视图,而不是一个表,这是因为该视图不是使用架构绑定创建的。我使用模式绑定对其进行了更改,然后可以将索引添加到视图中。HTH。


1

表没有空间索引所要求的群集主键。创建空间索引之前,请确保主键列存在于表中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.