13 Aralık 2015 Pazar

DB’deki tüm tablolardaki kayıt sayısı ve index boyutunu hesaplamak

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.

Hiç yorum yok:

Yorum Gönder

.net 6 mapget kullanımı

 app.UseEndpoints(endpoints => {     endpoints.MapGet("/", async context =>     {         var response = JsonConvert.Seriali...