;WITH t1 as(
SELECT
DB_NAME() AS DatbaseName
, SCHEMA_NAME(O.Schema_ID) AS SchemaName
, OBJECT_NAME(I.object_id) AS TableName
, I.NAME AS IndexName,row_number()over(PARTITION BY I.OBJECT_ID ORDER BY I.object_id ) odr
FROM sys.indexes I INNER JOIN sys.objects O ON I.object_id = O.object_id
LEFT OUTER JOIN sys.dm_db_index_usage_stats S ON S.object_id = I.object_id
AND I.index_id = S.index_id
AND DATABASE_ID = DB_ID()
WHERE OBJECTPROPERTY(O.object_id,'IsMsShipped') = 0
AND I.name IS NOT NULL
)
SELECT * ,'sp_rename '''+schemaname+'.'+tableName+'.'+indexName+''',''IX_'+tablename+ '_auto_'+cast(dbo.lpad(odr,2,'0') AS NVARCHAR(10)) +''',''INDEX'' ;' renamesql FROM t1
--AND S.object_id IS NULL
sql server批量重命名索引
猜你喜欢
转载自blog.csdn.net/wangzhpwang/article/details/79012171
今日推荐
周排行