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