In diesem einen Projekt, an dem ich arbeite, muss ein bestimmtes Feld eindeutig sein (kein Problem!), Aber wenn das Feld null ist, soll die Einschränkung ignoriert werden. In SQL Server 2008 verwende ich den gefilterten Index wie unten gezeigt, aber dies ist in früheren Versionen von SQL nicht verfügbar!
CREATE UNIQUE NONCLUSTERED INDEX User_UserName_IUC
ON [User] (pinNr)
WHERE UserName IS NOT NULL
Ich glaube jedoch nicht, dass dies in SQL Server 2005 verfügbar ist. Tatsächlich gibt dieser Blogeintrag an, dass es eine Problemumgehung gibt, bei der ein Auslöser zum Überprüfen der Eindeutigkeit verwendet wird. Hat jemand ein Beispiel dafür? oder vielleicht eine alternative?
Leider ist ein Upgrade auf SQl Server 2008 für diesen bestimmten Client keine Option !!
quelle