Bazy danych mają tendencję rośnięcia do niebotycznych rozmiarów, szczególnie gdy trafiają do nich dane zbierane za pomocą botów lub scraperów. Wtedy informacja na temat wielkości bazy jest niewystarczająca i konieczne może okazać się sprawdzenie rozmiarów poszczególnych tabel.
Mając bardziej szczegółowe informacje można lepiej zaplanować kasowanie niepotrzebnych bądź nieaktualnych wierszy bądź opróżnianie całych tabel. I tak poniższe zapytanie wyświetli w megabajtach rozmiar każdej z tabel poczynając od największych. Zadziała ono zarówno w przypadku tradycyjnych baz oraz Azure SQL.
select sys.objects.name, sum(reserved_page_count) * 8.0 / 1024 [SizeInMB]
from sys.dm_db_partition_stats, sys.objects
where sys.dm_db_partition_stats.object_id = sys.objects.object_id
group by sys.objects.name
order by sum(reserved_page_count) desc
Skomentuj