To oznacza wyjątkowe ograniczenie. W SQL Server unikalne ograniczenie jest faktycznie realizowane jako indeks pod przykryciem; dlatego pojawia się również pod Indexes
węzłem (nie mogę dobrze wyjaśnić, dlaczego nie ma go przynajmniej pod tym Constraints
węzłem, ani dlaczego wybrali klucz do góry nogami zamiast po prostu innego koloru).
Powinieneś zobaczyć wynik, aby sprawdzić, czy jest on faktycznie zaimplementowany jako indeks:
SELECT index_id, type_desc, is_unique_constraint
FROM sys.indexes
WHERE name = N'IX_tblCustIndex';
Powiedziałeś, że widziałeś „Ograniczenie skryptu jako ...” - jeśli to zrobisz, dostarczyłby ci skrypt podobny do:
ALTER TABLE [dbo].[tblCustIndex] ADD UNIQUE NONCLUSTERED
(
[some_column] ASC
) WITH (...a bunch of default options...)
Ale nie uruchamiaj go, ponieważ ta składnia nie używa nazwy, a jedynie stworzy drugie, nadmiarowe, unikalne ograniczenie ...
Oto bardzo proste repro i dowód, że dostaję klucz do góry nogami nawet przy bardzo podstawowej składni w 2014 roku:
CREATE TABLE dbo.foo(id INT UNIQUE);
Kliknij, aby powiększyć
Teraz możesz uzyskać inną ikonę, jeśli utworzysz wyraźnie unikalny indeks (a jedynymi różnicami, które zobaczysz, sys.indexes
są nazwa i wartość is_unique_constraint
):
Kliknij, aby powiększyć
W przypadku innych różnic zobacz odpowiedź Przepełnienie stosu .