Benzersiz bir kısıtlama anlamına geliyor. SQL Server'da, benzersiz bir kısıtlama aslında kapakların altında bir dizin olarak uygulanır; bu yüzden Indexes
düğümün altında da görünür (neden Constraints
düğümün altında en azından listelenmediği veya neden sadece farklı bir renk yerine baş aşağı bir tuş seçtiklerine dair iyi bir açıklama yapamıyorum ).
Bunun aslında bir dizin olarak uygulandığını doğrulamak için burada bir sonuç görmelisiniz:
SELECT index_id, type_desc, is_unique_constraint
FROM sys.indexes
WHERE name = N'IX_tblCustIndex';
Sen "Senaryo Kısıtlaması As ..." gördüğünü söyledin - eğer bunu takip etseydin sana şöyle bir senaryo sağlardı:
ALTER TABLE [dbo].[tblCustIndex] ADD UNIQUE NONCLUSTERED
(
[some_column] ASC
) WITH (...a bunch of default options...)
Ancak çalıştırmayın çünkü bu sözdizimi bir ad kullanmaz ve sadece ikinci, gereksiz benzersiz bir kısıtlama oluşturur ...
İşte çok basit bir repro ve 2014'te çok temel sözdiziminde bile baş aşağı anahtarı aldığımın kanıtı:
CREATE TABLE dbo.foo(id INT UNIQUE);
Büyütmek için tıklayın
Artık, açıkça benzersiz bir dizin oluşturursanız farklı bir simge elde edebilirsiniz (ve göreceğiniz tek farkın sys.indexes
adı ve değeri vardır is_unique_constraint
):
Büyütmek için tıklayın
Diğer farklılıklar için bu Yığın Taşması cevabına bakınız .