Det du letar efter är verkligen en del av ANSI-standarderna SQL:92, SQL:1999 och SQL:2003, dvs en UNIK begränsning måste inte tillåta duplicerade icke-NULL-värden men acceptera flera NULL-värden.
I Microsofts värld av SQL Server är dock en enda NULL tillåten men flera NULL är inte...
I SQL Server 2008 , kan du definiera ett unikt filtrerat index baserat på ett predikat som exkluderar NULL:
CREATE UNIQUE NONCLUSTERED INDEX idx_yourcolumn_notnull
ON YourTable(yourcolumn)
WHERE yourcolumn IS NOT NULL;
I tidigare versioner kan du använda VIEWS med ett NOT NULL-predikat för att upprätthålla begränsningen.