Mam MS SQL 2008 R2, 500 baz danych. Jaki jest najbardziej wydajny, najłatwiejszy i „nowoczesny” sposób wykonywania zapytań o wszystkie rozmiary baz danych.
Wynik powinien mieć kolumny:
- DatabaseName
- DataFilesSize
- LogFilesSize
sql
sql-server
tsql
sql-server-2008-r2
Alex Aza
źródło
źródło
Nie wiem dokładnie, co masz na myśli mówiąc o wydajności, ale to jest proste i działa dla mnie:
Z wynikami takimi jak:
Uwaga: został zainspirowany tym artykułem
źródło
Oto proste, szybkie i niezawodne zapytanie, które poda nazwy wszystkich baz danych i plików dziennika, rozmiary, a także stany bazy danych (np. ONLINE) w ładnym, łatwym do odczytania wyniku:
źródło
z zamówionym całkowitym rozmiarem bazy danych Opis
źródło
Wszystko wydaje się zbyt skomplikowane! A może coś mi brakuje?
Z pewnością potrzebujesz tylko czegoś takiego:
lub jeśli nie chcesz dziennika:
źródło
znajdź więcej deatils lub pobierz skrypt z poniższego linku https://gallery.technet.microsoft.com/SIZE-OF-ALL-DATABASES-IN-0337f6d5#content
źródło
źródło
GROUP BY DB.name, DB.database_id ORDER BY DB.database_id
zachowuje kolejność stołu.Niedawno natknąłem się na tę stronę, szukając czegoś takiego. Na wypadek, gdyby ktoś się z tym spotkał i jest zainteresowany tylko podstawowymi bazami danych użytkowników, możesz użyć czegoś takiego, co wyklucza Master, msdb ...
źródło
źródło
Nie po to, żeby ukraść swoją odpowiedź i dostosować ją do punktów lub czegokolwiek, ale oto kolejna faktoryzacja:
źródło
Lepszy i dość prostszy
Poda osobno rozmiar plików danych i plików dziennika, jak poniżej
źródło
Poniższy kod zadziałał dla mnie bardzo dobrze.
źródło
Wersja uproszczona i ulepszona:
źródło
czasami problemy z BEZPIECZEŃSTWEM uniemożliwiają zapytanie o wszystkie bazy danych i musisz odpytywać pojedynczo z prefiksem db, w takich przypadkach utworzyłem to dynamiczne zapytanie
źródło