Sql server veritabanımın içerisinde hangi tablonun diskte ne kadar yer kapladığını ve içerisinde kaç satır veri olduğunu tek bir sorgu ile görmek istiyorum, mümkün müdür?
kaanbey
09.07.2019 14:26
En dolu tablodan en boş tabloya göre tabloların satır sayılarına göre azalan sırada tüm tabloların bilgisini veren aşağıdaki script'i kopyala yapıştır yaparak tüm sql server veritabanları için kullanabilirsiniz:
SELECT t.NAME AS TableName, s.Name AS SchemaName, p.rows AS RowCounts, SUM(a.total_pages) * 8 AS TotalSpaceKB, CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS TotalSpaceMB, SUM(a.used_pages) * 8 AS UsedSpaceKB, CAST(ROUND(((SUM(a.used_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB, (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB, CAST(ROUND(((SUM(a.total_pages) - SUM(a.used_pages)) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMB FROM sys.tables t INNER JOIN sys.indexes i ON t.OBJECT_ID = i.object_id INNER JOIN sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id LEFT OUTER JOIN sys.schemas s ON t.schema_id = s.schema_id WHERE t.NAME NOT LIKE 'dt%' AND t.is_ms_shipped = 0 AND i.OBJECT_ID > 255 GROUP BY t.Name, s.Name, p.Rows ORDER BY p.rows desc
Microsoft SQL Server Management Studio (SSMS) kullanıyorsanız tek bir satır kod yazmadan tüm tabloların boyutlarını, satır sayılarını ve kapladıkları fiziksel disk boyutlarını görebilirsiniz. Bunun için veritabanınıza sağ tıklayın ve Reports > Standard Reports > Disk Usage By Table yolunu izleyerek SSMS'in ilgili raporu üretmesini sağlayın.
Sonuç:
bkz: SQL Server With CTE Kullanımı ve Örnekleri
Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.
ferrari 1
oissende 0
utku33 0
utku33 1
PhpCoder 0
mbologlu 0
İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.