O SQL Server Management Studio não me permite adicionar um índice a uma tabela

114

Quando clico com o botão direito na pasta de índices na tabela, o item de menu "Novo índice" fica esmaecido. Não entendo por quê. Excluí todos os dados da tabela por precaução, atualizei e reiniciei o SSMS, mas sem sorte. Estou usando o SQL Server 2012 Business Intelligence SP1 CTP.

fio
fonte
26
Isso acontece se você já tiver a mesa aberta em um designer - exceto se você disser que reiniciou o SSMS. Você acessou a Tabela de projeto após reiniciar?
Martin Smith
Confirmei que esse ainda é um problema no SQL Server 2014.
Keith,
@Martin Smith: Obrigado, funcionou para mim.
Bhavin Shah
Um diagrama de banco de dados com a tabela também causará isso. (visto que é uma visualização de 'tabela de projeto')
JDC

Respostas:

260

Solução: feche seus designers de tabela e diagramas de banco de dados e tente novamente. Se isso não ajudar, feche todas as janelas no Management Studio.

Explicação: A opção "Novo índice" é desativada quando a tabela é bloqueada por esquema pela janela do designer.

Keith
fonte
15
Obrigado. Microsoft, por favor, melhore isso. É muito chato ver new indexesmaecido.
Valamas
1
sim, você tem que fechar designers de mesa que não têm nada a ver com a mesa em questão. grr
Simon_Weaver
2
Eu tive o mesmo problema ao tentar adicionar "Colunas incluídas". Acabei de perceber que durante anos (exatamente uma década) tudo o que tive que fazer foi fechar o Designer de Tabela e clicar com o botão direito do mouse no Índice para selecionar "Propriedades" a fim de adicioná-las / editá-las ... Todos esses anos desperdiçados escrever scripts personalizados. face-palm Quero minha juventude de volta!
MikeTeeVee
Uau, isso salvou meu dia! +1
Al Kepp,
6

Pode ser um problema de direitos ou talvez você tenha se desconectado. Tente usar código para adicionar o índice; que pode resolver seu problema ou relatar uma exceção mais significativa para você trabalhar:

create index ix_MyTable_Column1
on dbo.MyTable(Column1 asc)

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

JohnLBevan
fonte
3

Feche a mesa se aberta no designer. Clique com o botão direito em Índices para a tabela e selecione Reconstruir tudo. Isso vai consertar ...

MCS
fonte
1

No meu caso, que era uma visão, não uma tabela, era porque a visão não foi criada com Schema Binding. Eu alterei para usar Schema Binding e então pude adicionar o índice ao modo de exibição. HTH.

Ashilon
fonte
1

A tabela não possui uma chave primária em cluster, conforme exigido pelo índice espacial. Certifique-se de que a coluna de chave primária exista na tabela antes de criar um índice espacial.

Lord5et
fonte