How do I check if a nonclustered index exists in SQL Server 2005

user532104 picture user532104 · May 3, 2011 · Viewed 62.7k times · Source

I have the following:

CREATE NONCLUSTERED INDEX [MyTableIndex]
ON [dbo].[tablename] ([tablename_ID],[tablename_Field1])
INCLUDE ([Tablename_Field2],[Tablename_Field3])

I want to create an if statement to check if this exists. How do I do this?

Answer

AdaTheDev picture AdaTheDev · May 3, 2011
IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name = 'MyTableIndex' AND object_id = OBJECT_ID('tablename'))
    BEGIN
        -- Index with this name, on this table does NOT exist
    END