Als u SQL Server gebruikt via een opdrachtregelinterface, ziet u waarschijnlijk geen permanente lijst met databases zoals u normaal zou doen bij het gebruik van een GUI (zoals SSMS of Azure Data Studio).
In dergelijke gevallen kunt u de sp_databases
. gebruiken systeem opgeslagen procedure om een lijst met databases te retourneren. Deze opgeslagen procedure vermeldt specifiek databases die zich ofwel in een exemplaar van de SQL Server bevinden of die toegankelijk zijn via een databasegateway.
Dit is waarschijnlijk de snelste en gemakkelijkste manier om alle databases weer te geven met T-SQL. U kunt gewoon sp_databases
. typen voor een lijst met databases, of om explicieter te zijn, EXEC sp_databases
.
Syntaxis
De syntaxis gaat als volgt:
sp_databases
Dat is alles wat er is. Er zijn geen argumenten vereist of geaccepteerd.
Voorbeeld
Hier is een gebruiksvoorbeeld.
EXEC sp_databases;
Dit is het resultaat dat ik krijg in een van mijn testomgevingen:
+--------------------+-----------------+-----------+ | 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 | +--------------------+-----------------+-----------+
En als dat te veel is om te typen, hier is het zonder de EXEC
:
sp_databases
Dat levert dezelfde resultaten op.
Databases op een gekoppelde server
Als u een lijst met databases van een gekoppelde server nodig heeft, gebruikt u sp_catalogs
terwijl de naam van de gekoppelde server wordt doorgegeven.
Zie Lijst met alle databases van een gekoppelde server in SQL Server voor meer informatie en voorbeelden.