Łatwe przeglądanie użycia miejsca na dysku poszczególnych tabel SQL w bazie danych
W przypadku każdej aktywnej bazy danych wymagania dotyczące pamięci dyskowej będą z czasem rosły. Podczas gdy można łatwo wyświetlić przestrzeń dyskową używaną przez całą bazę danych, należy zajrzeć na stronę Pliki właściwości bazy danych w SQL Management Studio lub po prostu przeglądać podstawowe pliki w Eksploratorze Windows, co jeśli chcesz zagłębić się nieco i zobaczyć części składające się na sumę całości?
Aby wyświetlić te informacje, musisz wyświetlić rozmiar poszczególnych tabel. Na szczęście SQL Server ma wbudowaną procedurę przechowywaną, sp_SpaceUsed, która wyświetla statystyki przechowywania poszczególnych tabel. Wykorzystując tę procedurę przechowywaną, stworzyliśmy skrypt wsadowy, który pozwala na łatwe tworzenie listy każdej tabeli w bazie danych i przeglądanie jej statystyk.
Po uruchomieniu skryptu następujące informacje dla każdej tabeli w bazie danych są wymienione w formacie tabelarycznym:
- Nazwa tabeli bazy danych
- Liczba wierszy w tabeli
- Łączna ilość miejsca na dysku przydzielona do tej tabeli przez SQL
- Ilość miejsca na dysku używanego do przechowywania danych
- Ilość miejsca na dysku użytego do wewnętrznych indeksów SQL
- Ilość miejsca na dysku, które nie jest obecnie używane
Korzystanie ze skryptu
Skrypt wsadowy DBSize jest zgodny z SQL 2005 i nowszym i musi być uruchamiany na komputerze, na którym jest zainstalowane narzędzie SQLCMD (zainstalowane jako część instalacji SQL Server). Zaleca się upuszczenie tego skryptu do zestawu lokalizacji w zmiennej PATH systemu Windows (tj. C: Windows), aby można było łatwo wywołać ją tak, jak każdą inną aplikację z wiersza poleceń.
Aby wyświetlić informacje pomocy, wystarczy wpisać:
DBSize /?
Przykłady
Aby uruchomić raport "MyDB" na domyślnej instancji i skierować wyjście do "MyDB Table Size.txt" na pulpicie:
DBSize MyDB> "% UserProfile% DesktopMyDB Table Size.txt"
Aby uruchomić raport "MyDB" na nazwanej instancji "Special", używając użytkownika "sa" z hasłem "123456":
DBSize MyDB /S:.Special / U: sa / P: 123456
Pobierz Skrypt wsadowy tabeli wielkości bazy danych z SysadminGeek.com