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 cevap yazın
Yorum yapabilmek için giriş yapmalısınız.