Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Schnellster Weg zum Auflisten aller Datenbanken in SQL Server mit T-SQL

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.