En este proyecto en el que estoy trabajando, necesito establecer un campo particular para que sea único (¡no es un problema!), Pero si el campo es nulo, quiero que se ignore la restricción. En SQL Server 2008, uso el índice filtrado como se muestra a continuación, ¡pero esto no está disponible en versiones anteriores de SQL!
CREATE UNIQUE NONCLUSTERED INDEX User_UserName_IUC
ON [User] (pinNr)
WHERE UserName IS NOT NULL
Pero no creo que esté disponible en SQL Server 2005. De hecho, esta publicación de blog indica que hay una solución alternativa usando un disparador para verificar la unicidad. ¿Alguien tiene un ejemplo de esto? o tal vez una alternativa?
¡Desafortunadamente, actualizar a SQl Server 2008 no es una opción para este cliente en particular!
fuente