SQL Server Performance

tamaños de las tablas de una base de datos

Discussion in 'Preguntas sobre SQL Server en Español.' started by jrcarranza, Jul 17, 2006.

  1. jrcarranza New Member

    Hola!!
    hay alguna manera de saber el tamaño de las tablas de una base de datos, lo que estoy usando es sql server 2000 std edition.
    Esto porque tengo una base de datos que esta creciendo exponencialmente y necesito saber donde es que esta creciendo tanto.
    Gracias.
  2. Luis Martin Moderator

    Te paso un scrip que te informa la cantidad de filas de cada tabla y de cada índice.
    Espero que te sirva.

    select si.rows as 'filas', SO.Name as Tabla, SI.name as 'Index', SFG.groupname as 'Filegroup'
    from sysobjects as SO
    join sysindexes as SI
    on SO.Id = SI.id
    join sysfilegroups as SFG
    on SI.GroupId = SFG.GroupId
    order by si.rows desc, SO.Name , SI.name, SFG.GroupName

    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


    All postings are provided “AS IS” with no warranties for accuracy.



  3. jrcarranza New Member

    Disculpa, es que lo que necesito saber es el peso de cada tabla, esto porque ultimamente crecio mucho una base de datos la cual tiene varios años de existir pero que el tamaño de la misma no era tan grande, pero la cantidad de tuplas que posee si es bastante grande.

    La base de datos tiene 5 años de utilización y hace dos meses tenia un peso aproximado de 250 a 300 megas y hoy tiene un peso de giga y medio.

    Otra opcion:
    Existe alguna lista que corresponda al tamaño de almacenamiento de los tipos, esto para sacar los tipos de datos que tiene la tabla y con esto multiplicarlo por la cantidad de tuplas y asi poder tener un tamaño aproximado en disco que posee cada tabla.

    Gracias.
  4. jrcarranza New Member

    por cierto, muchas gracias por el script, tambien sirve de mucho para muchas otras cosas que necesito realizar
  5. Luis Martin Moderator

    Esta es una función no documentada, pero te dará la información que necesitas.

    Usa el Analizador de consultas, en la base que quieras y ejecuta:

    sp_MSForEachtable 'sp_spaceused ''?'''


    Cuéntame cómo te ha ido luego de ejecutarla.

    Saludos,



    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


    All postings are provided “AS IS” with no warranties for accuracy.



  6. jrcarranza New Member

    muchas gracias, el reporte que genera esta muy completo.
    Era exactamente lo que andaba buscando
  7. olealg New Member

    Hola disculpa estuve leyedo tus recomendaciones para obtener informacion de las tablas en un BD, estan muy buenos, gracias me han servido.
    Pero tengo una duda no se si sabras como calcular la "Tasa de cricimiento de una base de datos" , solo tengo informacion de las transacciones, pero al sacar el promedio me da alrededor de 11.56874%, lo cual es muy alto, segun lo correcto es por ahi del 2% mensual pero no logro obtenerlo,
    Para explicarme mejor que datos necesito para sacar dicha tasa de crecimiento
    Gracias y saludos!!!!
  8. Luis Martin Moderator

    Bienvenido al forum![:)]
    No existe un método para el calcular el crecimiento de la base, solamente en forma manual ayudándote con algunas herramientas.
    Esto se debe a que, si es que tienes los adecuados trabajos de mantenimiento, se produce un crecimiento producto de la actualización de estadísticas o reindexación. Esto solamente como ejemplo.
    Si tu trabajo incluye el analizar el agregado de índices, eso contribuye al crecimiento de la base y no por los datos insertados productos del negocio en si mismo.
    De todas formas, la herramienta Diagnostic Manager de Idera, provee una sección que analiza el crecimiento de las bases. Te sugiero usarla durante el tiempo de prueba que Idera te otorga para evaluarla.
    PD: En el futuro te sugiero iniciar un nuevo post en lugar de escribir sobre una viejo.
    Saludos cordiales,
  9. olealg New Member

    Gracias por tu atencion y consejo, checare esa herramienta,
    Solo por esta vez pero tendre muy en cuenta lo del post
    Gracias Saludos!!!
  10. Sandy New Member

    Hi...
    Which type of language is this and what is the question..??
    I am unable to read this....
    Thanks,
    Sandy.
  11. Luis Martin Moderator

    Hi Sandy,This is Spanish forum.Cheers,
  12. llopez New Member

    Que tal buenas tardes tambien yo he estado observado este foro y es muy interesante .
    Gracias por tu valiosa aportacion , yo tengo una duda , una vez qeu corro el Script me arroja una de mis tablas como 1 vez con el numero de registros diferente y 9 mas exactamente iguales , que consideras peuda estra sucediendo.
    Lo que estoy haciendo ahoritra es exportar la tabla para ver los registros y confirmar que dato es el correcto
    12324184 IMINVTRX_SQL IIMINVTRX_SQL0
    1267119 IMINVTRX_SQL IIMINVTRX_SQL1
    1267119 IMINVTRX_SQL IIMINVTRX_SQL2
    1267119 IMINVTRX_SQL IIMINVTRX_SQL3
    1267119 IMINVTRX_SQL IIMINVTRX_SQL4
    1267119 IMINVTRX_SQL IIMINVTRX_SQL5
    1267119 IMINVTRX_SQL IIMINVTRX_SQL6
    1267119 IMINVTRX_SQL IIMINVTRX_SQL7
    1267119 IMINVTRX_SQL IIMINVTRX_SQL8
    1267119 IMINVTRX_SQL IIMINVTRX_SQL9
    De antemano gracias y quedo en espera de tus comentarios
  13. Luis Martin Moderator

    Bienvenido al Forum!.
    Antes de ejecutar el scrip, es conveniente ejecutar el siguiente para asegurarse que los datos estén correctos:
    USE TuBasedeDatos
    GO
    EXEC sp_spaceused @updateusage = N'TRUE';
    GO
    Saludos,
  14. llopez New Member

    Hola que tal , gracias
    Ya corri el script y me arroja lo que la base de datos mide, sin embargo no logro saber cual es la tabla que me ocasiona tanto incremento todavia.
    Data_13 14877.50 MB 14528.84 MB
    356000 KB 115784 KB 119336 KB 120880 KB
    Quisiera ver el tamaño no de transacciones si no de espacio
    Muchas Gracias
  15. Luis Martin Moderator

    Siempre eres bienvenido!

Share This Page