【问题标题】:SQL Server Management Studio won't let me add an index to a tableSQL Server Management Studio 不允许我向表中添加索引
【发布时间】:2012-11-06 18:09:30
【问题描述】:

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

【问题讨论】:

  • 如果您已经在设计器中打开了表,则会发生这种情况 - 除非您说您重新启动了 SSMS。重启后你进入设计表了吗?
  • 我确认这仍然是 SQL Server 2014 中的问题。
  • @Martin Smith:谢谢,这对我有用。
  • 带有表格的数据库图表也会导致这种情况。 (因为它是一个“设计表”视图)

标签: sql-server sql-server-2008 sql-server-2012 ssms sql-server-2014


【解决方案1】:

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

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

【讨论】:

  • 谢谢。微软,请改进它。看到new index 变灰很烦人。
  • 是的,您必须关闭与相关表格无关的表格设计器。 grr
  • 我在尝试添加“包含的列”时遇到了同样的问题。我刚刚意识到多年来(确切地说是十年)我所要做的就是关闭表设计器并右键单击索引以选择“属性”以添加/编辑它们......所有这些年都浪费在编写自定义脚本。 掌心我想要我的青春回来!
  • 哇,这拯救了我的一天! +1
  • 删除索引时也会发生这种情况(导致它变灰)
【解决方案2】:

这可能是版权问题,或者您可能已断开连接。 尝试使用代码添加索引;这可能会解决您的问题,或报告更有意义的例外情况以供您使用:

create index ix_MyTable_Column1
on dbo.MyTable(Column1 asc)

http://msdn.microsoft.com/en-us/library/ms188783.aspx

【讨论】:

    【解决方案3】:

    如果在设计器中打开,请关闭表格。右键单击表的索引,然后选择全部重建。这将解决它...

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 2014-10-07
          • 2016-09-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-12-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多