Wie kann ich meinen SQL Server abfragen, um nur die Größe der Datenbank zu erhalten?
Ich habe das benutzt:
use "MY_DB"
exec sp_spaceused
Ich schaff das :
database_name database_size unallocated space
My_DB 17899.13 MB 5309.39 MB
Es gibt mir mehrere Spalten zurück, die ich nicht benötige. Vielleicht gibt es einen Trick, um die Spalte database_size aus dieser gespeicherten Prozedur auszuwählen?
Ich habe auch diesen Code ausprobiert:
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'
Es gibt mir dieses Ergebnis:
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
Also habe ich folgendes geschrieben:
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
Ich habe: 1183
Also funktioniert es, aber vielleicht gibt es einen richtigen Weg, um dies zu bekommen?
sql
sql-server
sql-server-2008
sql-server-2008-r2
Adeel ASIF
quelle
quelle
Antworten:
Probier diese -
Abfrage:
Ausgabe:
Funktion:
UPDATE 22.01.2016:
Informationen zu Größe, freiem Speicherplatz und letzten Datenbanksicherungen anzeigen
Ausgabe:
quelle
Vergleichen Sie die Ergebnisse auch mit dem Ergebnis der folgenden Abfrage
Es wird ein Ergebnis ähnlich dem folgenden erzeugt
Es gibt einen guten Artikel - Verschiedene Möglichkeiten, den freien Speicherplatz für SQL Server-Datenbanken und Datenbankdateien zu ermitteln
quelle
DBCC SQLPERF(logspace)
Hat bei der Berechnung der SQL-Datenbankgröße in SQL Server 2012 perfekt funktioniert
quelle
quelle
EXEC sp_spaceused @oneresultset = 1
Zeigen Sie in 1 Zeile das gesamte Ergebnis anWenn Sie nur 'EXEC sp_spaceused' ausführen, werden zwei Zeilen angezeigt. Arbeiten in SQL Server Management Studio v17.9
quelle
Über diesen Link können Sie überprüfen, wie diese Abfrage funktioniert .
quelle
Ausgabe
quelle
Überprüfen Sie die Datenbankgröße in SQL Server für Azure und On-Premises-
Methode 1 - Verwenden der Systemansicht 'sys.database_files'
Methode 2 - Verwenden der gespeicherten Systemprozedur 'sp_spaceused'
quelle
Hier gibt es bereits viele gute Antworten, aber es lohnt sich, eine einfache und schnelle Möglichkeit zu erwähnen, die SQL Server-Datenbankgröße mit SQL Server Management Studio (SSMS) mithilfe eines Standardberichts zu ermitteln.
Um einen Bericht auszuführen, benötigen Sie:
Es druckt einen schönen Bericht:
Wobei der reservierte Gesamtspeicherplatz die Gesamtgröße der Datenbank auf der Festplatte ist und die Größe aller Datendateien und die Größe aller Transaktionsprotokolldateien enthält.
Unter der Haube verwendet SSMS die Ansicht dbo.sysfiles oder sys.database_files (abhängig von der Version von MSSQL) und eine Art dieser Abfrage, um den Wert für den gesamten reservierten Speicherplatz abzurufen:
quelle