Ver índices con campos de las tablas de una BD (SQL 2005)

13/07/2007 - 12:55 por Eclat | Informe spam
Muy buenas de nuevo. Con el SSMS donde puedo ver de una tabla
determinada, de un golpe, los índices que tiene y los campos que lo
componen.

Veo que puedo ver los nombres de los índices si voy a la tabla, y que
puedo hacer doble click en cada uno de ellos y ver sus campos. Pero a la
hora de buscar si alguna tabla tiene algún índice que me interesa sería
más cómodo ver todo junto.

¿Hay alguna parte del SSMS donde se puede ver eso? Gracias.

Salu2

Preguntas similare

Leer las respuestas

#1 Maxi
13/07/2007 - 14:57 | Informe spam
Hola, desde esa herramienta sera mas dificil, porque no usas TSQL contra las
vistas del sistemas sys. ??


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Eclat" escribió en el
mensaje news:
Muy buenas de nuevo. Con el SSMS donde puedo ver de una tabla determinada,
de un golpe, los índices que tiene y los campos que lo componen.

Veo que puedo ver los nombres de los índices si voy a la tabla, y que
puedo hacer doble click en cada uno de ellos y ver sus campos. Pero a la
hora de buscar si alguna tabla tiene algún índice que me interesa sería
más cómodo ver todo junto.

¿Hay alguna parte del SSMS donde se puede ver eso? Gracias.

Salu2
Respuesta Responder a este mensaje
#2 Alejandro Mesa
13/07/2007 - 15:08 | Informe spam
Eclat,

Pudieras crear un query sobre las tablas:

- sys.indexes
- sys.index_columns

use northwind
go

select
object_name(si.[object_id]) as table_name,
[name] as index_name,
ic.key_ordinal,
col_name(ic.[object_id], ic.column_id) as column_name
from
sys.indexes as si
inner join
sys.index_columns as ic
on si.[object_id] = ic.[object_id]
and si.index_id = ic.index_id
where
si.[object_id] = object_id('dbo.Orders')
order by
si.[object_id],
si.index_id,
ic.key_ordinal
go


select
object_name(si.[object_id]) as table_name,
[name] as index_name,
(
stuff(
(
select ',' + col_name(ic.[object_id], ic.column_id)
from sys.index_columns as ic
where ic.[object_id] = si.[object_id] and ic.index_id = si.index_id
order by ic.key_ordinal for xml path('')
), 1, 1, '')
) as index_keys
from
sys.indexes as si
where
si.[object_id] = object_id('dbo.Orders')
order by
si.[object_id],
si.index_id
go


AMB


"Eclat" wrote:

Muy buenas de nuevo. Con el SSMS donde puedo ver de una tabla
determinada, de un golpe, los índices que tiene y los campos que lo
componen.

Veo que puedo ver los nombres de los índices si voy a la tabla, y que
puedo hacer doble click en cada uno de ellos y ver sus campos. Pero a la
hora de buscar si alguna tabla tiene algún índice que me interesa sería
más cómodo ver todo junto.

¿Hay alguna parte del SSMS donde se puede ver eso? Gracias.

Salu2

Respuesta Responder a este mensaje
#3 Eclat
13/07/2007 - 15:56 | Informe spam
Ok, muchas gracias a los dos por la respuesta. Intentaré hacerlo así
entonces. Pensé que el SMSS tendría algo más directo, en plan, escoges
la BD la tabla en cuestión y te listara los índices con los campos.

Pero mira, nunca está de más aprender esta forma de hacerlo.

Salu2

Alejandro Mesa escribió:
Eclat,

Pudieras crear un query sobre las tablas:

- sys.indexes
- sys.index_columns

use northwind
go

select
object_name(si.[object_id]) as table_name,
[name] as index_name,
ic.key_ordinal,
col_name(ic.[object_id], ic.column_id) as column_name
from
sys.indexes as si
inner join
sys.index_columns as ic
on si.[object_id] = ic.[object_id]
and si.index_id = ic.index_id
where
si.[object_id] = object_id('dbo.Orders')
order by
si.[object_id],
si.index_id,
ic.key_ordinal
go


select
object_name(si.[object_id]) as table_name,
[name] as index_name,
(
stuff(
(
select ',' + col_name(ic.[object_id], ic.column_id)
from sys.index_columns as ic
where ic.[object_id] = si.[object_id] and ic.index_id = si.index_id
order by ic.key_ordinal for xml path('')
), 1, 1, '')
) as index_keys
from
sys.indexes as si
where
si.[object_id] = object_id('dbo.Orders')
order by
si.[object_id],
si.index_id
go


AMB


"Eclat" wrote:

Muy buenas de nuevo. Con el SSMS donde puedo ver de una tabla
determinada, de un golpe, los índices que tiene y los campos que lo
componen.

Veo que puedo ver los nombres de los índices si voy a la tabla, y que
puedo hacer doble click en cada uno de ellos y ver sus campos. Pero a la
hora de buscar si alguna tabla tiene algún índice que me interesa sería
más cómodo ver todo junto.

¿Hay alguna parte del SSMS donde se puede ver eso? Gracias.

Salu2

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida