Đây là một phàn nàn từ lâu về các ràng buộc / chỉ mục duy nhất của SQL Server. Giải pháp tốt nhất là tạo một chế độ xem bằng cách phân loại và sau đó đặt một chỉ mục duy nhất trên cột đó:
Create View dbo.MyUniqueColView
With SchemaBinding
As
Select MyColToBeUnique
From MyTable
Where MyColToBeUnique Is Not Null
GO
Create Unique Clustered Index IX_MyTable_MyColToBeUnique On MyUniqueColView ( MyColToBeUnique )