Это означает уникальное ограничение. В SQL Server уникальное ограничение фактически реализовано в виде индекса под прикрытием; Вот почему он также отображается под Indexes
узлом (я не могу дать вам хорошего объяснения, почему он по крайней мере не указан под Constraints
узлом, или почему они выбрали перевернутую клавишу вместо другого цвета).
Вы должны увидеть здесь результат, чтобы убедиться, что он фактически реализован как индекс:
SELECT index_id, type_desc, is_unique_constraint
FROM sys.indexes
WHERE name = N'IX_tblCustIndex';
Вы сказали, что видите «Ограничение скрипта как ...» - если вы выполните это, он предоставит вам сценарий что-то вроде:
ALTER TABLE [dbo].[tblCustIndex] ADD UNIQUE NONCLUSTERED
(
[some_column] ASC
) WITH (...a bunch of default options...)
Но не запускайте его, потому что этот синтаксис не использует имя, и он просто создаст второе, избыточное уникальное ограничение ...
Вот очень простое воспроизведение и доказательство того, что я получаю перевернутый ключ даже с очень простым синтаксисом в 2014 году:
CREATE TABLE dbo.foo(id INT UNIQUE);
нажмите, чтобы увеличить
Теперь вы можете получить другой значок, если явно создадите уникальный индекс (и единственные различия, которые вы увидите sys.indexes
, это имя и значение is_unique_constraint
):
нажмите, чтобы увеличить
Для других различий см. Этот ответ переполнения стека .