Il s'agit d'une plainte de longue date concernant les contraintes/index uniques de SQL Server. La meilleure solution consiste à créer une vue avec une liaison de schéma, puis à placer un index unique sur cette colonne :
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 )