SQL Server 2008 a des index filtrés qui le permettent, mais ils ne sont pas disponibles en 2005. Dans SQL Server 2005, vous pouvez créer une vue indexée avec définition
CREATE VIEW dbo.Foo
WITH SCHEMABINDING
AS
SELECT bar
FROM dbo.baz
WHERE bar IS NOT NULL
Créez ensuite un index clusterisé unique sur celui-ci.
CREATE UNIQUE CLUSTERED INDEX ix ON dbo.Foo(bar)