私が走るとき
SELECT
count(object_id) AS count,
object_id,
min(name) as name1,
max(name) AS name2
FROM
sys.indexes
GROUP BY object_id HAVING COUNT(*) > 1 ORDER BY count
同じobject_id
を持つインデックスのリストを取得しますが、同じ名前である必要はありません。
同じobject_id
のすべてのインデックスに同じ名前を付ける必要はありませんか?
_Object_ID
_は、インデックス付きビューやテーブルなど、インデックスが属するオブジェクトに属します。
_object_id
_の_sys.indexes
_を見ると documentation
object_id-このインデックスが属するオブジェクトのID。
インデックスを一意に識別したい場合は、_Object_ID
_ + _index_id
_列、または特定の_index_id
_の_object_id
_が必要です。
これを確認するには、OBJECT_NAME()
関数をクエリに追加します
_SELECT
count(object_id) AS count,
object_id,
OBJECT_NAME(object_id),
min(name) as name1,
max(name) AS name2
FROM
sys.indexes
GROUP BY object_id HAVING COUNT(*) > 1 ORDER BY count;
_