系統函數sys.dm_db_index_physical_stats
返回服務器上所有索引的碎片。它將返回表和索引的id
而不是名稱。數據庫名稱,架構的和對象可使用db_name
,object_schema_name
和object_name
發現:將index_id翻譯爲索引名稱
select db_name(ips.database_id)
, object_schema_name(ips.object_id, ips.database_id)
, object_name(ips.object_id, ips.database_id)
, ips.index_id
, ips.avg_fragmentation_in_percent
from sys.dm_db_index_physical_stats(null, null, null, null, null) ips
功能object_name
沒有索引的工作。加入sys.indexes
的作品,但它是數據庫特定的,所以你必須使用動態SQL在遊標中運行它。
有沒有更好的方法將index_id
翻譯成索引的名稱?
+1感謝您的鏈接。我現在像你說的那樣循環着,想知道是否有更好的方法。 – Andomar
雖然這可能是解決問題的有價值的提示,但答案確實需要證明解決方案。請[編輯]提供示例代碼來展示你的意思。或者,可以考慮將其寫爲註釋。 –