jak mogę wysłać zapytanie do mojego serwera sql, aby uzyskać tylko rozmiar bazy danych?
Użyłem tego:
use "MY_DB"
exec sp_spaceused
Mam to :
database_name database_size unallocated space
My_DB 17899.13 MB 5309.39 MB
Zwraca mi kilka kolumn, których nie potrzebuję, może istnieje sztuczka, aby wybrać kolumnę database_size z tej procedury składowanej?
Próbowałem też tego kodu:
SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name,
Physical_Name,
(size * 8) / 1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'MY_DB'
Daje mi taki wynik:
DatabaseName Logical_Name Physical_Name SizeMB
MY_DB MY_DB D:\MSSQL\Data\MY_DB.mdf 10613
MY_DB MY_DB_log D:\MSSQL\Data\MY_DB.ldf 7286
Więc napisałem to:
SELECT SUM(SizeMB)
FROM (
SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name,
Physical_Name,
(size * 8) / 1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'MY_DB'
) AS TEMP
Mam: 1183
Więc to działa, ale może jest na to właściwy sposób?
sql
sql-server
sql-server-2008
sql-server-2008-r2
Adeel ASIF
źródło
źródło
Odpowiedzi:
Spróbuj tego -
Pytanie:
Wynik:
Funkcjonować:
AKTUALIZACJA 2016/01/22:
Pokaż informacje o rozmiarze, wolnym miejscu, ostatnich kopiach zapasowych bazy danych
Wynik:
źródło
Porównaj również wyniki z wynikiem następującego zapytania
Daje wynik podobny do następującego
Jest dobry artykuł - Różne sposoby określania wolnego miejsca na bazy danych programu SQL Server i pliki baz danych
źródło
DBCC SQLPERF(logspace)
Pomogło mi obliczyć rozmiar bazy danych SQL w SQL Server 2012
źródło
źródło
EXEC sp_spaceused @oneresultset = 1
pokaż w 1 wierszu cały wynikjeśli wykonasz tylko 'EXEC sp_spaceused', zobaczysz dwa wiersze Praca w SQL Server Management Studio v17.9
źródło
Możesz sprawdzić, jak działa to zapytanie, klikając ten link .
źródło
Wynik
źródło
Sprawdź rozmiar bazy danych w programie SQL Server zarówno dla platformy Azure, jak i lokalnych
Metoda 1 - Korzystanie z widoku systemu „sys.database_files”
Metoda 2 - Korzystanie z procedury przechowywanej w systemie „sp_spaceused”
źródło
Jest już tutaj wiele świetnych odpowiedzi, ale warto wspomnieć o prostym i szybkim sposobie uzyskania rozmiaru bazy danych SQL Server za pomocą programu SQL Server Management Studio (SSMS) przy użyciu standardowego raportu.
Aby wygenerować raport, potrzebujesz:
Drukuje ładny raport:
Gdzie Total space Reserved to całkowity rozmiar bazy danych na dysku i obejmuje rozmiar wszystkich plików danych oraz rozmiar wszystkich plików dziennika transakcji.
Pod maską SSMS używa widoku dbo.sysfiles lub widoku sys.database_files (w zależności od wersji MSSQL) i pewnego rodzaju tego zapytania, aby uzyskać wartość Całkowitej zarezerwowanej przestrzeni:
źródło