Índices - SQL 2000

20/06/2007 - 15:25 por Fernando Mosquera | Informe spam
Hola a todos,
Antes que nada muchas gracias por su tiempo, tengo dos consultas para
realizar respecto a los índices:

1) Se puede obtener la fecha de creación o modificación de un índice?
2) Hay algun store procedure que me devuelva el peso de un índice en KB, MB,
etc.?

Actualmente cuando quiero saber el peso de un índice obtengo la cantidad de
páginas que ocupa el índice, las divido por 8 (cantidad de pag. de una
extensión) redondeando el resultado hacia arriba y lo multiplico por 64k (el
peso de una extensión), esto me da el resultado del ínidice.
En su defecto voy por el enterprise manager, view Task Pad --> "Table Info".

Muchas gracias,
Fernando.

E-Mail: mosquera_f@hotmail.com

Preguntas similare

Leer las respuestas

#1 Miguel Egea
21/06/2007 - 09:02 | Informe spam
Hola Fernando!!!

1.- Mira en las tablas sys.sysobjects de 2005 o dbo.sysobjects o en sus
equivalentes para índices (sysindexes)
2.- sp_spaceused te devuelve esa información


Saludos Cordiales
Miguel Egea Gómez
http://blogs.solidq.com/ES/megea/default.aspx
http://www.portalsql.com
Solid Quality Mentors


"Fernando Mosquera" wrote in message
news:ugG$
Hola a todos,
Antes que nada muchas gracias por su tiempo, tengo dos consultas para
realizar respecto a los índices:

1) Se puede obtener la fecha de creación o modificación de un índice?
2) Hay algun store procedure que me devuelva el peso de un índice en KB,
MB,
etc.?

Actualmente cuando quiero saber el peso de un índice obtengo la cantidad
de
páginas que ocupa el índice, las divido por 8 (cantidad de pag. de una
extensión) redondeando el resultado hacia arriba y lo multiplico por 64k
(el
peso de una extensión), esto me da el resultado del ínidice.
En su defecto voy por el enterprise manager, view Task Pad --> "Table
Info".

Muchas gracias,
Fernando.

E-Mail:


Respuesta Responder a este mensaje
#2 Fernando Mosquera
21/06/2007 - 15:43 | Informe spam
Antes que nada muchas gracias por responder.
Te comento Miguel que las consulta esta referida a índices en SQL 2000, en
sysobjects o sysindexes no se encuentra la fecha de creación / modificación
de los índices.
Respecto de la pregunta 2), sp_spaceused no me devuelve el tamaño de los
índices, de estarme equivocando, podrías darme un ejemplo?
(en el ejemplo podrías usar la base 'Northwind', tabla 'Order Details',
indice 'PK_Order_Details')

Saludos.


"Miguel Egea" wrote in message
news:
Hola Fernando!!!

1.- Mira en las tablas sys.sysobjects de 2005 o dbo.sysobjects o en sus
equivalentes para índices (sysindexes)
2.- sp_spaceused te devuelve esa información


Saludos Cordiales
Miguel Egea Gómez
http://blogs.solidq.com/ES/megea/default.aspx
http://www.portalsql.com
Solid Quality Mentors


"Fernando Mosquera" wrote in message
news:ugG$
> Hola a todos,
> Antes que nada muchas gracias por su tiempo, tengo dos consultas para
> realizar respecto a los índices:
>
> 1) Se puede obtener la fecha de creación o modificación de un índice?
> 2) Hay algun store procedure que me devuelva el peso de un índice en KB,
> MB,
> etc.?
>
> Actualmente cuando quiero saber el peso de un índice obtengo la cantidad
> de
> páginas que ocupa el índice, las divido por 8 (cantidad de pag. de una
> extensión) redondeando el resultado hacia arriba y lo multiplico por 64k
> (el
> peso de una extensión), esto me da el resultado del ínidice.
> En su defecto voy por el enterprise manager, view Task Pad --> "Table
> Info".
>
> Muchas gracias,
> Fernando.
>
> E-Mail:
>
>


Respuesta Responder a este mensaje
#3 Miguel Egea
21/06/2007 - 22:48 | Informe spam
Hola Fernando, tienes razón, los índices no se guardan en sysobjects, y en
sysindexes no está ese campo, mirar el log podría hacerse pero vamos, un
lio. así que, no se puede.

Sobre la 2, si quieres ver la primary key, ocupa lo que la tabla y es
sp_spaceused con order details. Si quieres saber lo de un índice en
concreto tienes el número de páginas en el campo used de sysindexes,
multiplicalo por 8 kbs y listo.

Saludos


"Fernando Mosquera" wrote in message
news:
Antes que nada muchas gracias por responder.
Te comento Miguel que las consulta esta referida a índices en SQL 2000, en
sysobjects o sysindexes no se encuentra la fecha de creación /
modificación
de los índices.
Respecto de la pregunta 2), sp_spaceused no me devuelve el tamaño de los
índices, de estarme equivocando, podrías darme un ejemplo?
(en el ejemplo podrías usar la base 'Northwind', tabla 'Order Details',
indice 'PK_Order_Details')

Saludos.


"Miguel Egea" wrote in message
news:
Hola Fernando!!!

1.- Mira en las tablas sys.sysobjects de 2005 o dbo.sysobjects o en sus
equivalentes para índices (sysindexes)
2.- sp_spaceused te devuelve esa información


Saludos Cordiales
Miguel Egea Gómez
http://blogs.solidq.com/ES/megea/default.aspx
http://www.portalsql.com
Solid Quality Mentors


"Fernando Mosquera" wrote in message
news:ugG$
> Hola a todos,
> Antes que nada muchas gracias por su tiempo, tengo dos consultas para
> realizar respecto a los índices:
>
> 1) Se puede obtener la fecha de creación o modificación de un índice?
> 2) Hay algun store procedure que me devuelva el peso de un índice en
> KB,
> MB,
> etc.?
>
> Actualmente cuando quiero saber el peso de un índice obtengo la
> cantidad
> de
> páginas que ocupa el índice, las divido por 8 (cantidad de pag. de una
> extensión) redondeando el resultado hacia arriba y lo multiplico por
> 64k
> (el
> peso de una extensión), esto me da el resultado del ínidice.
> En su defecto voy por el enterprise manager, view Task Pad --> "Table
> Info".
>
> Muchas gracias,
> Fernando.
>
> E-Mail:
>
>









H
Respuesta Responder a este mensaje
#4 Fernando Mosquera
22/06/2007 - 15:48 | Informe spam
Gracias Miguel por seguir con el post, te cuento que yo ya habia llegado a
la conlcucion que tu llegas respecto a la pregunta 1) pero no quiero ser
determinista, tal vez si hay una forma de simplificar un procedimiento
complicado como buscar en el TLog, fíjate que hay herramientas de terceros
que podrían hacerlo simple.

Respecto a la 2) es justamente lo que estoy haciendo, saco el cálculo en
función a las páginas del índice. La pregunta estaba enfocada a no hacer el
cálculo, obtener el dato vía un store procedure.




Saludos.



"Miguel Egea" wrote in message
news:

Hola Fernando, tienes razón, los índices no se guardan en sysobjects, y en
sysindexes no está ese campo, mirar el log podría hacerse pero vamos, un
lio. así que, no se puede.

Sobre la 2, si quieres ver la primary key, ocupa lo que la tabla y es
sp_spaceused con order details. Si quieres saber lo de un índice en
concreto tienes el número de páginas en el campo used de sysindexes,
multiplicalo por 8 kbs y listo.

Saludos


"Fernando Mosquera" wrote in message
news:
> Antes que nada muchas gracias por responder.
> Te comento Miguel que las consulta esta referida a índices en SQL 2000,


en
> sysobjects o sysindexes no se encuentra la fecha de creación /
> modificación
> de los índices.
> Respecto de la pregunta 2), sp_spaceused no me devuelve el tamaño de


los
> índices, de estarme equivocando, podrías darme un ejemplo?
> (en el ejemplo podrías usar la base 'Northwind', tabla 'Order Details',
> indice 'PK_Order_Details')
>
> Saludos.
>
>
> "Miguel Egea" wrote in message
> news:
>> Hola Fernando!!!
>>
>> 1.- Mira en las tablas sys.sysobjects de 2005 o dbo.sysobjects o en


sus
>> equivalentes para índices (sysindexes)
>> 2.- sp_spaceused te devuelve esa información
>>
>>
>> Saludos Cordiales
>> Miguel Egea Gómez
>> http://blogs.solidq.com/ES/megea/default.aspx
>> http://www.portalsql.com
>> Solid Quality Mentors
>>
>>
>> "Fernando Mosquera" wrote in message
>> news:ugG$
>> > Hola a todos,
>> > Antes que nada muchas gracias por su tiempo, tengo dos consultas para
>> > realizar respecto a los índices:
>> >
>> > 1) Se puede obtener la fecha de creación o modificación de un índice?
>> > 2) Hay algun store procedure que me devuelva el peso de un índice en
>> > KB,
>> > MB,
>> > etc.?
>> >
>> > Actualmente cuando quiero saber el peso de un índice obtengo la
>> > cantidad
>> > de
>> > páginas que ocupa el índice, las divido por 8 (cantidad de pag. de


una
>> > extensión) redondeando el resultado hacia arriba y lo multiplico por
>> > 64k
>> > (el
>> > peso de una extensión), esto me da el resultado del ínidice.
>> > En su defecto voy por el enterprise manager, view Task Pad --> "Table
>> > Info".
>> >
>> > Muchas gracias,
>> > Fernando.
>> >
>> > E-Mail:
>> >
>> >
>>
>>
>
>

H

Respuesta Responder a este mensaje
#5 Miguel Egea
22/06/2007 - 15:52 | Informe spam
hay una forma sencilla en 2005 si pones triggers de tipo DDL. En cuanto a la
2 es justo lo que hace sp_spaceused, así que creo que no habrá otra.

Saludos

"Fernando Mosquera" wrote in message
news:
Gracias Miguel por seguir con el post, te cuento que yo ya habia llegado a
la conlcucion que tu llegas respecto a la pregunta 1) pero no quiero ser
determinista, tal vez si hay una forma de simplificar un procedimiento
complicado como buscar en el TLog, fíjate que hay herramientas de terceros
que podrían hacerlo simple.

Respecto a la 2) es justamente lo que estoy haciendo, saco el cálculo en
función a las páginas del índice. La pregunta estaba enfocada a no hacer
el
cálculo, obtener el dato vía un store procedure.




Saludos.



"Miguel Egea" wrote in message
news:

Hola Fernando, tienes razón, los índices no se guardan en sysobjects, y
en
sysindexes no está ese campo, mirar el log podría hacerse pero vamos, un
lio. así que, no se puede.

Sobre la 2, si quieres ver la primary key, ocupa lo que la tabla y es
sp_spaceused con order details. Si quieres saber lo de un índice en
concreto tienes el número de páginas en el campo used de sysindexes,
multiplicalo por 8 kbs y listo.

Saludos


"Fernando Mosquera" wrote in message
news:
> Antes que nada muchas gracias por responder.
> Te comento Miguel que las consulta esta referida a índices en SQL 2000,


en
> sysobjects o sysindexes no se encuentra la fecha de creación /
> modificación
> de los índices.
> Respecto de la pregunta 2), sp_spaceused no me devuelve el tamaño de


los
> índices, de estarme equivocando, podrías darme un ejemplo?
> (en el ejemplo podrías usar la base 'Northwind', tabla 'Order Details',
> indice 'PK_Order_Details')
>
> Saludos.
>
>
> "Miguel Egea" wrote in message
> news:
>> Hola Fernando!!!
>>
>> 1.- Mira en las tablas sys.sysobjects de 2005 o dbo.sysobjects o en


sus
>> equivalentes para índices (sysindexes)
>> 2.- sp_spaceused te devuelve esa información
>>
>>
>> Saludos Cordiales
>> Miguel Egea Gómez
>> http://blogs.solidq.com/ES/megea/default.aspx
>> http://www.portalsql.com
>> Solid Quality Mentors
>>
>>
>> "Fernando Mosquera" wrote in message
>> news:ugG$
>> > Hola a todos,
>> > Antes que nada muchas gracias por su tiempo, tengo dos consultas
>> > para
>> > realizar respecto a los índices:
>> >
>> > 1) Se puede obtener la fecha de creación o modificación de un
>> > índice?
>> > 2) Hay algun store procedure que me devuelva el peso de un índice en
>> > KB,
>> > MB,
>> > etc.?
>> >
>> > Actualmente cuando quiero saber el peso de un índice obtengo la
>> > cantidad
>> > de
>> > páginas que ocupa el índice, las divido por 8 (cantidad de pag. de


una
>> > extensión) redondeando el resultado hacia arriba y lo multiplico por
>> > 64k
>> > (el
>> > peso de una extensión), esto me da el resultado del ínidice.
>> > En su defecto voy por el enterprise manager, view Task Pad -->
>> > "Table
>> > Info".
>> >
>> > Muchas gracias,
>> > Fernando.
>> >
>> > E-Mail:
>> >
>> >
>>
>>
>
>

H





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