Det finns flera sätt att visa en lista över databaser i SQL Server. Det enklaste sättet är förmodligen att använda sp_databases
lagrad procedur.
sp_databases
lagrad procedur är en sorts SQL Server som motsvarar SHOW DATABASES
kommando som kan användas med DBMS som MySQL och MariaDB. OK, de kanske inte är strikt likvärdiga, men baserat på deras användarvänlighet kan de ses som sådana ur en användares perspektiv.
Exempel
Här är ett exempel på hur man utför denna lagrade procedur:
sp_databases;
Exempelresultat:
+-----------------------+-----------------+-----------+ | DATABASE_NAME | DATABASE_SIZE | REMARKS | |-----------------------+-----------------+-----------| | KrankyKranes | 16384 | NULL | | master | 6848 | NULL | | model | 16384 | NULL | | msdb | 79040 | NULL | | Music | 16384 | NULL | | NarrowNationExporters | 147456 | NULL | | PetHotel | 16384 | NULL | | StereoSystems | 16384 | NULL | | tempdb | 24576 | NULL | | Test | 107520 | NULL | | WideWorldImporters | 3575808 | NULL | | World | 81920 | NULL | +-----------------------+-----------------+-----------+
Denna procedur returnerar också databasstorleken, vilket kan vara ganska praktiskt (även om den här kolumnen returnerar ett NULL-värde för databaser större än 2,15 TB).
Ett annat sätt att utföra proceduren är genom att prefixa den med EXEC
eller EXECUTE
.
Därför är alla följande likvärdiga:
sp_databases;
EXEC sp_databases;
EXECUTE sp_databases;
Du kan bara utelämna EXEC
/EXECUTE
när satsen är den första i en batch.