มันบ่งบอกถึงข้อ จำกัด ที่ไม่เหมือนใคร ใน 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
):
คลิกเพื่อดูภาพขยาย
สำหรับความแตกต่างอื่น ๆ ให้ดูที่สแต็คโอเวอร์โฟลว์คำตอบนี้