Problem
Einige Datenbanken (=Datenbankdateien) in einem SQL-Server sind extrem gewachsen und belegen nach Leerung nun immernoch viel physikalischen Speicher. Man kann natürlich jede Datenbank im Management Studio einzeln anklicken und unter „Tasks“ auf „Verkleinern“ klicken oder ein DBCC-Kommando in jeder Datenbanka ausführen, bei vielen Datenbänken in einer Instanz dauert das aber extrem lange.
Lösung
EXEC sp_MSForEachDB 'DBCC SHRINKDATABASE (''?'' , 0)'
Achtung! Es ist fast nie sinnvoll, Datenbankdateien einfach-mal-so zu verkleinern. Indizes und die Datenbank selber werden dann bei Aktivität in der Regel stark fragmentiert, was wahnsinnig auf die Performance durchschlägt. Für eine Virtualisierung, verschieben, eine Sicherungskalkulation oder bei Vorgängen die geplant viele Daten entsorgen, kann das aber auch durchaus hilfreich sein. Im Zweifel vorher einen (fähigen) DBA fragen.