none
Tamaño de una base de datos (2) RRS feed

  • Pregunta

  • Buenas días. Hace unos días pregunte sobre este mismo tema y me recomendaron usar "exec sp_spaceused", aunque también me comentaron que existía otras formas de obtener el tamaño de una base de datos. ahora lo que necesito es que el tamaño de la base de datos me lo devuelva en un solo campo, ya que el procedimiento me devuelve como si hubiese tirado dos consultas y los componentes que uso desde la aplicación no creo que se comporten bien.

    ¿hay alguna forma de obtener solo uno de los campos que me devuelve el sp_spaceused?, muchas gracias.

    martes, 4 de mayo de 2010 7:29

Respuestas

  • Pues tal y como respondí en ese mismo hilo (creo recordar), en http://www.karaszi.com/SQLServer/util_sp_db_space_usage.asp puedes obtener lo que buscas. No es un sólo campo porque el concepto "tamaño de la base de datos" es relativo (¿sólo datos? ¿datos e índices? ¿datos, índices y log? ¿la parte ocupada y también la no usada aún?). En cualquier caso, siempre podrías sumar todos los conceptos para sacar el total
    • Propuesto como respuesta Carlos Sacristan martes, 4 de mayo de 2010 7:39
    • Marcado como respuesta Matos83 martes, 4 de mayo de 2010 8:23
    martes, 4 de mayo de 2010 7:39
  • Como te dije, hay bastantes formas de obtener la misma información. Si lo que buscas es el espacio usado total de la base de datos (que no es igual que el tamaño total), te podría valer.
    • Marcado como respuesta Matos83 martes, 4 de mayo de 2010 9:11
    martes, 4 de mayo de 2010 8:56
  • Hola Carlos. muy interesante el enlace, buscando algo más de información he encontrado otra forma de obtener el tamaño de la base de datos y adaptandolo un poco creo que daría el resultado que busco.

     

    use mibasededatos

    go

     SELECT name Fichero, FILEPROPERTY(name, 'SpaceUsed' )/128.0 AS EspacioBDActual
     FROM dbo.SYSFILES

    -- me devolvería el tamaño del fichero mibasededatos y mibasededatos_log por separado

    --sumando los dos.

    SELECT sum(FILEPROPERTY(name, 'SpaceUsed' )/128.0) AS EspacioBDActual
     FROM dbo.SYSFILES

     

    ¿Estaría hay comprendido todo el espacio usado de la base de datos?, yo supongo que si

     

    muchas gracias.

     

     

     

    • Marcado como respuesta Matos83 martes, 4 de mayo de 2010 9:11
    martes, 4 de mayo de 2010 8:28

Todas las respuestas

  • Pues tal y como respondí en ese mismo hilo (creo recordar), en http://www.karaszi.com/SQLServer/util_sp_db_space_usage.asp puedes obtener lo que buscas. No es un sólo campo porque el concepto "tamaño de la base de datos" es relativo (¿sólo datos? ¿datos e índices? ¿datos, índices y log? ¿la parte ocupada y también la no usada aún?). En cualquier caso, siempre podrías sumar todos los conceptos para sacar el total
    • Propuesto como respuesta Carlos Sacristan martes, 4 de mayo de 2010 7:39
    • Marcado como respuesta Matos83 martes, 4 de mayo de 2010 8:23
    martes, 4 de mayo de 2010 7:39
  • Hola Carlos. muy interesante el enlace, buscando algo más de información he encontrado otra forma de obtener el tamaño de la base de datos y adaptandolo un poco creo que daría el resultado que busco.

     

    use mibasededatos

    go

     SELECT name Fichero, FILEPROPERTY(name, 'SpaceUsed' )/128.0 AS EspacioBDActual
     FROM dbo.SYSFILES

    -- me devolvería el tamaño del fichero mibasededatos y mibasededatos_log por separado

    --sumando los dos.

    SELECT sum(FILEPROPERTY(name, 'SpaceUsed' )/128.0) AS EspacioBDActual
     FROM dbo.SYSFILES

     

    ¿Estaría hay comprendido todo el espacio usado de la base de datos?, yo supongo que si

     

    muchas gracias.

     

     

     

    • Marcado como respuesta Matos83 martes, 4 de mayo de 2010 9:11
    martes, 4 de mayo de 2010 8:28
  • Como te dije, hay bastantes formas de obtener la misma información. Si lo que buscas es el espacio usado total de la base de datos (que no es igual que el tamaño total), te podría valer.
    • Marcado como respuesta Matos83 martes, 4 de mayo de 2010 9:11
    martes, 4 de mayo de 2010 8:56