• Cts. Oca 31st, 2026

Fatih ŞAHİN

Not defterim.

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.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir