Wenn Sie SQL Server über eine Befehlszeilenschnittstelle verwenden, sehen Sie wahrscheinlich keine dauerhafte Liste von Datenbanken, wie Sie es normalerweise bei der Verwendung einer GUI (wie SSMS oder Azure Data Studio) tun würden.
In solchen Fällen können Sie die sp_databases
verwenden gespeicherte Systemprozedur, um eine Liste von Datenbanken zurückzugeben. Diese gespeicherte Prozedur listet speziell Datenbanken auf, die sich entweder in einer Instanz von SQL Server befinden oder auf die über ein Datenbank-Gateway zugegriffen werden kann.
Dies ist wahrscheinlich der schnellste und einfachste Weg, alle Datenbanken mit T-SQL aufzulisten. Sie können einfach sp_databases
eingeben für eine Liste von Datenbanken, oder um expliziter zu sein, EXEC sp_databases
.
Syntax
Die Syntax sieht so aus:
sp_databases
Das ist alles, was es gibt. Es sind keine Argumente erforderlich oder akzeptiert.
Beispiel
Hier ist ein Anwendungsbeispiel.
EXEC sp_databases;
Hier ist das Ergebnis, das ich in einer meiner Testumgebungen erhalte:
+--------------------+-----------------+-----------+ | DATABASE_NAME | DATABASE_SIZE | REMARKS | |--------------------+-----------------+-----------| | master | 6592 | NULL | | model | 16384 | NULL | | msdb | 15872 | NULL | | Music | 16384 | NULL | | MyDB | 16384 | NULL | | tempdb | 24576 | NULL | | Test | 16384 | NULL | | WideWorldImporters | 3248128 | NULL | | world | 16384 | NULL | +--------------------+-----------------+-----------+
Und wenn das zu viel zum Tippen ist, hier ist es ohne EXEC
:
sp_databases
Das gibt dieselben Ergebnisse zurück.
Datenbanken auf einem verknüpften Server
Wenn Sie eine Liste von Datenbanken von einem Verbindungsserver erhalten müssen, verwenden Sie sp_catalogs
beim Übergeben des Namens des Verbindungsservers.
Weitere Informationen und Beispiele finden Sie unter Alle Datenbanken von einem verknüpften Server in SQL Server auflisten.