none
Tamaño Tablas e Indices RRS feed

  • Pregunta

  • Estimados.

    En un SS2008, tengo una BD que pesa 50 GB, de los cuales tengo libre 20 GB, por lo tanto puedo verificar de manera correcta que el mdf pesa 30 GB, ahsta aca todo bien.

    Utilizo el siguiente query:

    select sysobjects.name
      , sum(case when sysindexes.indid<2 then rows
            else 0 end)  as rows
      , sum(case when sysindexes.indid in (0,1,255) then
    sysindexes.reserved
          else 0 end) * 8 as reserved
      , sum(case when sysindexes.indid in (0,1) then   
    sysindexes.dpages
          when sysindexes.indid=255      then  sysindexes.used
          else 0 end) * 8 /1024 as Data
      , (sum(case when sysindexes.indid in (0,1,255) then
    sysindexes.used
          else 0 end)
           - sum(case when sysindexes.indid in (0,1) then   
    sysindexes.dpages
          when sysindexes.indid=255      then  sysindexes.used
          else 0 end))*8  as index_size
      , (sum(case when sysindexes.indid in (0,1,255) then
     sysindexes.reserved-sysindexes.used
          else 0 end)*8) as unused
     from sysobjects
     join sysindexes
     on sysobjects.id=sysindexes.id
     where xtype='U'
     group by sysobjects.name

    Mi problema es el siguiente:

    Al sumar la columna data me suman 30 GB, y al sumar la columa index_size suma 15 GB, entonces si los sumo me dan 45 GB, pero al revisar el espacio libre del archivo mdf me indica 20 GB.

    Atte.

    CristianPM


    DBA SQL Server Santiago/Chile

    jueves, 27 de junio de 2013 15:10

Respuestas

Todas las respuestas