Run the script in Enterprise Manager query window with your database selected as the current database.
The result window will contain a set of SP_RENAME commands.
Check these and run them. They will rename your indexes to standardise the names.
Run the script in Enterprise Manager query window with your database selected as the current database.
The result window will contain a set of SP_RENAME commands.
Check these and run them. They will rename your indexes to standardise the names.
-- Index rename -- According to pattern: -- IX_<TableName>_<Col1>_<Col2>... -- or -- AK_<TableName>_<Col1>_<Col2>... SELECT 'EXEC sp_rename ''' + object_schema_name(I.object_id) +'.'+ object_name(I.object_id) +'.' + I.name + ''', ''' + CASE WHEN I.is_unique=1 THEN 'AK_' ELSE 'IX_' END + object_name(I.object_id) + '_'+ I.COLUMN_NAMES + ''', ''index'';' FROM ( SELECT I.object_id, I.index_id, I.name,I.is_primary_key, I.type, I.is_unique, LEFT(I.COLUMN_NAMES,LEN(I.COLUMN_NAMES)-1) AS COLUMN_NAMES FROM ( SELECT I.object_id, I.index_id, I.name,I.is_primary_key, I.type, I.is_unique, ( SELECT C0.name +'_' AS [text()] FROM sys.index_columns IC0 JOIN sys.columns C0 ON C0.object_id = IC0.object_id AND C0.column_id = IC0.column_id WHERE IC0.index_id=I.index_id AND IC0.object_id = I.object_id ORDER BY IC0.index_column_id FOR XML PATH ('') ) AS COLUMN_NAMES FROM sys.indexes I WHERE I.is_primary_key<>1 AND objectproperty(I.object_id,'IsTable')=1 AND objectproperty(I.object_id,'IsMSShipped ')=0 AND I.type NOT IN (0,3) -- Exclude XML indexes and heaps ) I ) I WHERE I.name <> CASE WHEN I.is_unique=1 THEN 'AK_' ELSE 'IX_' END + object_name(I.object_id) + '_'+ I.COLUMN_NAMES ORDER BY 1 GO