sql >> Databasteknik >  >> RDS >> Sqlserver

Snabbaste sättet att lista alla databaser i SQL Server med T-SQL

Om du använder SQL Server via ett kommandoradsgränssnitt, ser du förmodligen inte en beständig lista med databaser som du normalt skulle göra när du använder ett GUI (som SSMS eller Azure Data Studio).

I sådana fall kan du använda sp_databases systemlagrad procedur för att returnera en lista med databaser. Denna lagrade procedur listar specifikt databaser som antingen finns i en instans av SQL Server eller är tillgängliga via en databasgateway.

Detta är förmodligen det snabbaste och enklaste sättet att lista alla databaser som använder T-SQL. Du kan helt enkelt skriva sp_databases för en lista över databaser, eller för att vara mer explicit, EXEC sp_databases .

Syntax

Syntaxen ser ut så här:

sp_databases

Det är allt som finns. Inga argument krävs eller accepteras.

Exempel

Här är ett exempel på användning.

EXEC sp_databases;

Här är resultatet jag får i en av mina testmiljöer:

+--------------------+-----------------+-----------+
| 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      |
+--------------------+-----------------+-----------+

Och om det är för mycket att skriva, här är det utan EXEC :

sp_databases

Det ger samma resultat.

Databaser på en länkad server

Om du behöver få en lista över databaser från en länkad server, använd sp_catalogs medan du skickar in namnet på den länkade servern.

Se Lista alla databaser från en länkad server i SQL Server för mer information och exempel.


  1. Hur man fångar undantag för SQLServer timeout

  2. Använda pt-pg-summary Percona Toolkit för PostgreSQL

  3. Upprepande rader baserat på kolumnvärde i varje rad

  4. Hur man återställer MySQL-databas från .myd-, .myi-, .frm-filer