Menu

Saber los índices de todas las tablas de la base de datos

Octubre 14, 2010 - SQL Server

Muchas veces necesitamos de obtener los índices especificados en las tablas de la base de datos así como sus nombres, en esta situación es posible revisar la tabla mediante el diseñador de tablas y hacer clic en el botón de índices, pero que sucede si necesitamos el resumen de todas las tablas con sus respectivos índices?. El siguiente script permite obtener este listado además de el orden de los índices en la tabla.


DECLARE @dbid INT

SELECT @dbid = DB_ID(DB_NAME())

SELECT OBJECTNAME = OBJECT_NAME(I.OBJECT_ID),

INDEXNAME = I.NAME,

I.INDEX_ID

FROM SYS.INDEXES I

JOIN SYS.OBJECTS O

ON I.OBJECT_ID = O.OBJECT_ID

WHERE OBJECTPROPERTY(O.OBJECT_ID,'IsUserTable') = 1

AND I.INDEX_ID NOT IN (

SELECT S.INDEX_ID

FROM SYS.DM_DB_INDEX_USAGE_STATS S

WHERE S.OBJECT_ID = I.OBJECT_ID

AND I.INDEX_ID = S.INDEX_ID

AND DATABASE_ID = @dbid)

ORDER BY OBJECTNAME,

I.INDEX_ID,

INDEXNAME ASC

Este script nos producirá la siguiente salida:

Etiquetas: , ,

2 pensamientos sobre “Saber los índices de todas las tablas de la base de datos

KAPASOFT

Muy bueno, la verdad es muy util para cuando necesitamos conocer esta info….

Respuesta
Eduardo

Gracias por comentar carlos!

Respuesta

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *