Es bedeutet eine einzigartige Einschränkung. In SQL Server wird eine eindeutige Einschränkung tatsächlich als Index unter dem Deckmantel implementiert. Aus diesem Grund wird es auch unter dem Indexes
Knoten angezeigt (ich kann Ihnen nicht gut erklären, warum es nicht zumindest unter dem Constraints
Knoten aufgeführt ist oder warum sie einen verkehrten Schlüssel anstelle einer anderen Farbe gewählt haben).
Sie sollten hier ein Ergebnis sehen, um zu überprüfen, ob dies tatsächlich als Index implementiert ist:
SELECT index_id, type_desc, is_unique_constraint
FROM sys.indexes
WHERE name = N'IX_tblCustIndex';
Sie sagten, Sie hätten "Script Constraint As ..." gesehen - wenn Sie dies durchgearbeitet hätten, hätten Sie ein Skript erhalten, das wie folgt lautet:
ALTER TABLE [dbo].[tblCustIndex] ADD UNIQUE NONCLUSTERED
(
[some_column] ASC
) WITH (...a bunch of default options...)
Führen Sie es jedoch nicht aus, da diese Syntax keinen Namen verwendet und nur eine zweite, redundante, eindeutige Einschränkung erstellt ...
Hier ist ein sehr einfacher Repro und ein Beweis dafür, dass ich 2014 den verkehrten Schlüssel auch mit sehr einfacher Syntax bekomme:
CREATE TABLE dbo.foo(id INT UNIQUE);
klicken um zu vergrößern
Jetzt können Sie ein anderes Symbol erhalten, wenn Sie explizit einen eindeutigen Index erstellen (und die einzigen Unterschiede, die Sie sehen, sys.indexes
sind der Name und der Wert von is_unique_constraint
):
klicken um zu vergrößern
Weitere Unterschiede finden Sie in dieser Antwort zum Stapelüberlauf .