Eu herdei um servidor e um banco de dados de terceiros do SQL Server 2005 para poder gerar relatórios e painéis.
Em uma mesa, encontrei um novo ícone: uma chave invertida azul-prateada, ao lado de minhas outras chaves primárias e estrangeiras.
Quando clico com o botão direito do mouse, o menu de contexto me dá a opção de "Script Constraint as", mas quando tento "Modificar", abre o formulário de design da coluna (como chaves primárias) e, ainda assim, aparece no Seção "Índices", não restrições.
Alguém sabe como se chama e para que serve?
Está significando uma restrição única. No SQL Server, uma restrição exclusiva é realmente implementada como um índice oculto; é por isso que também aparece sob o
Indexes
nó (não posso dar uma boa explicação de por que não está listado pelo menos sob oConstraints
nó, nem por que eles escolheram uma chave de cabeça para baixo em vez de apenas uma cor diferente).Você deve ver um resultado aqui para validar que isso é realmente implementado como um índice:
Você disse que viu "Script Constraint As ..." - se você seguisse com isso, teria fornecido um script como:
Mas não o execute porque esta sintaxe não usa um nome e apenas criará uma segunda restrição exclusiva redundante ...
Aqui está uma reprodução muito simples e prova de que recebo a chave invertida mesmo com sintaxe muito básica, em 2014:
Agora, você pode obter um ícone diferente se criar um índice exclusivo explicitamente (e as únicas diferenças que você verá
sys.indexes
são o nome e o valor deis_unique_constraint
):Para outras diferenças, consulte esta resposta Stack Overflow .