Die folgende Abfrage wird von Management Studio zum Auffüllen dieser Zahlen verwendet:
SELECT
(SELECT SUM(CAST(df.size as float)) FROM sys.database_files AS df
WHERE df.type in ( 0, 2, 4 ) ) AS [DbSize],
SUM(a.total_pages) AS [SpaceUsed],
(SELECT SUM(CAST(df.size as float)) FROM sys.database_files AS df
WHERE df.type in (1, 3)) AS [LogSize]
FROM
sys.partitions p join sys.allocation_units a
on p.partition_id = a.container_id
left join sys.internal_tables it
on p.object_id = it.object_id
Sie müssen hier genau wie in Management Studio rechnen, um die gleichen Zahlen zu erhalten. Auch die linke Verknüpfung zu sys.internal_tables
erscheint allenfalls überflüssig. Passen Sie diese Abfrage an Ihre ideale Ausgabe an:
SELECT
(SELECT CONVERT(DECIMAL(18,2), SUM(CAST(df.size as float))*8/1024.0)
FROM sys.database_files AS df
WHERE df.type in ( 0, 2, 4 ) ) AS [DbSize],
CONVERT(DECIMAL(18,2), SUM(a.total_pages)*8/1024.0) AS [SpaceUsed],
(SELECT CONVERT(DECIMAL(18,2), SUM(CAST(df.size as float))*8/1024.0)
FROM sys.database_files AS df
WHERE df.type in (1, 3)) AS [LogSize]
FROM sys.partitions p join sys.allocation_units a
on p.partition_id = a.container_id;
Vorausgesetzt, Ihre Datenbank ändert sich in der Zwischenzeit nicht, sollte sich mit diesem Update Folgendes ergeben:
753475.94 744030.07 2900.00
Stellen Sie einige einfache Berechnungen an und isolieren Sie nur die drei gewünschten Zahlen:
;WITH t(s) AS
(
SELECT CONVERT(DECIMAL(18,2), SUM(size)*8/1024.0)
FROM sys.database_files
WHERE [type] % 2 = 0
),
d(s) AS
(
SELECT CONVERT(DECIMAL(18,2), SUM(total_pages)*8/1024.0)
FROM sys.partitions AS p
INNER JOIN sys.allocation_units AS a
ON p.[partition_id] = a.container_id
)
SELECT
Allocated_Space = t.s,
Available_Space = t.s - d.s,
[Available_%] = CONVERT(DECIMAL(5,2), (t.s - d.s)*100.0/t.s)
FROM t CROSS APPLY d;
Etwas, das ich zusammengestellt habe. Sie MÜSSEN POWERSHELL auf Ihrem SQL Server ausführen. Ich bin mir der Version nicht sicher. Dies nimmt Ihre Laufwerksgrößen und gibt die Dateigrößen und den freien Speicherplatz sowie den freien Speicherplatz zurück.
Es ist nicht 100% original und Teile davon habe ich an anderer Stelle im Internet gefunden und das Ganze zusammengestellt. Es war ein PITA, damit es in die richtigen Ränder passt, sodass Sie möglicherweise mit den Klammern spielen müssen
quelle
Das folgende Skript kann verwendet werden, um folgende Informationen abzurufen: 1. Informationen zur DB-Größe 2. FileSpaceInfo 3. AutoGrowth 4. Wiederherstellungsmodell 5. Log_reuse_backup-Informationen
quelle