Database deki tüm kayıtları tablo bazında ve diskte ne kadar yer kapladığınız sorgulamak için kullanılacak bir script.
SET nocount ON
CREATE TABLE #spaceused
(name NVARCHAR(120) ,
rows CHAR(11) ,
reserved VARCHAR(18) ,
data VARCHAR(18) ,
index_size VARCHAR(18) ,
unused VARCHAR(18))
DECLARE Tables CURSOR
FOR
SELECT sys.schemas.name + '.' + sys.objects.name
FROM sys.objects
INNER JOIN sys.schemas ON sys.objects.schema_id = sys.schemas.schema_id
WHERE sys.objects.type = 'U'
OPEN Tables
DECLARE @table VARCHAR(128)
FETCH NEXT FROM Tables INTO @table
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO #spaceused
EXEC sp_spaceused @table
FETCH NEXT FROM Tables INTO @table
END
CLOSE Tables
DEALLOCATE Tables
SELECT *
FROM #spaceused
ORDER BY CAST([rows] AS BIGINT) DESC
DROP TABLE #spaceused
EXEC sp_spaceused
Script çalıştırıldığında aşağıda görüldüğü üzere tablo bazında satır sayısı ve diskte ne kadar yer kapladığı görüntülenebilmektedir.
