私はこれで終わった - それはかなりではないかもしれませんがために仕事を取得し、今:-)
WITH indexesCTE
AS
(
SELECT
t.name AS TableName
, i.name AS IndexName
, i.index_id AS IndexId
, ic.index_column_id AS ColumnId
, t.object_id AS TableId
, REPLACE(c.name, '_', '') AS ColumnName
, i.object_id AS IndexObjectId
FROM sys.indexes i
INNER JOIN sys.index_columns ic ON i.object_id = ic.object_id and i.index_id = ic.index_id
INNER JOIN sys.columns c ON ic.object_id = c.object_id and ic.column_id = c.column_id
INNER JOIN sys.tables t ON i.object_id = t.object_id
WHERE
i.is_primary_key = 0
AND i.is_unique = 0
AND i.is_unique_constraint = 0
AND t.is_ms_shipped = 0
)
, indexNameProposal
AS
(
SELECT i.TableName
, i.IndexName AS CurrentIndexName
, 'IX' + STUFF((SELECT '_' + i2.ColumnName FROM indexesCTE i2 WHERE i2.IndexId = i.IndexId AND i.TableId = i2.TableId FOR XML PATH('')),1,0,'') AS IndexNameProposal
FROM indexesCTE i
GROUP BY i.TableName, i.IndexName, i.TableId, i.IndexId
)
SELECT
*
FROM indexNameProposal i
WHERE i.CurrentIndexName <> i.IndexNameProposal
それは*アスカのように見える私に@HoneyBadgerは*規則を持っている、とするスクリプトを望んでいます*それが追跡されていることを確認する* ... – AakashM
Correct @AakashM –