sábado, 16 de enero de 2016

Listar tablas por tamaño en Sql Server

Bases de Datos

SQL Server

Listar tablas de mayor tamaño


Hola a todos, aquí os dejo este Query que pueda ayudarte en algún momento listar las tablas de mayor tamaño en SQL Server.   El Query lista el TOP 25,  puede modificar esta cantidad por si solo necesitas listar solo las 10 tablas grandes.   Además puede listar las tablas del sistema y evaluar su crecimiento, para eso basta que quites el comentario SO.TYPE IN ('U' /* ,'S' Para System*/) y lo dejas asi: SO.TYPE IN ('U' ,'S' )



SELECT TOP 25 A.TableName
      ,(SELECT ROWS
     FROM DBO.SYSINDEXES S WITH (NOLOCK) 
        WHERE S.INDID < 2 AND S.ID = A.ID ) AS [Row Count]
   ,[Size (MB)]
FROM  (SELECT QUOTENAME(USER_NAME(SO.UID)) + '.' + QUOTENAME(OBJECT_NAME(I.ID)) TableName
          ,SO.ID
     ,(CONVERT(NUMERIC(15,2),(((CONVERT(NUMERIC(15,2),SUM(I.RESERVED)) *
     (SELECT LOW
      FROM MASTER.DBO.SPT_VALUES WITH (NOLOCK)
      WHERE NUMBER = 1 AND TYPE = 'E')) / 1024.0)/1024.0))) [Size (MB)]
   FROM DBO.SYSINDEXES I WITH (NOLOCK) 
        INNER JOIN DBO.SYSOBJECTS SO WITH (NOLOCK)
   ON I.ID = SO.ID
   AND SO.TYPE IN ('U' /* ,'S' Para System*/)
   WHERE INDID IN (0, 1, 255)
   GROUP BY QUOTENAME(USER_NAME(SO.UID)) + '.' + QUOTENAME(OBJECT_NAME(I.ID)),SO.ID) AS A
ORDER BY [Size (MB)] DESC















No hay comentarios.:

Publicar un comentario