SQL Server 2008检查索引是否存在

Bar*_*ral 18 sql-server sql-server-2008-r2

可能重复:
SQL Server DB中所有索引和索引列的列表

我想知道是否有办法根据列名验证特定表的SQL Server数据库中是否存在索引:

假设我运行以下脚本:

  CREATE NONCLUSTERED INDEX [MyIndexName]
  ON [dbo].[MyTable] ([CustomerId])
  INCLUDE ([Id],[ModificationDate],[ProductId])
  GO
Run Code Online (Sandbox Code Playgroud)

现在我想根据表名和列(以及include子句中的列)检查索引是否存在,而不是实际的索引名.

(SQL Server 2008 R2)

谢谢

Rob*_*ert 34

试试这个查询:

if exists(
           SELECT 1 
           FROM sys.indexes 
           WHERE name = 'INDEX' 
           AND object_id = OBJECT_ID('TABLENAME')
          )
 begin
 ....
 end
Run Code Online (Sandbox Code Playgroud)