I need a SQL query to find the names of existing databases.
This question is related to
sql-server
For people where "sys.databases" does not work, You can use this aswell;
SELECT DISTINCT TABLE_SCHEMA from INFORMATION_SCHEMA.COLUMNS
You can also use these ways:
EXEC sp_helpdb
and:
SELECT name FROM sys.sysdatabases
Recommended Read:
Don't forget to have a look at sysdatabases VS sys.sysdatabases
A similar thread.
This forum suggests also:
SELECT CATALOG_NAME AS DataBaseName FROM INFORMATION_SCHEMA.SCHEMATA
SELECT datname FROM pg_database WHERE datistemplate = false
#for postgres
I don't recommend this method... but if you want to go wacky and strange:
EXEC sp_MSForEachDB 'SELECT ''?'' AS DatabaseName'
or
EXEC sp_MSForEachDB 'Print ''?'''
Another to add to the mix:
EXEC sp_databases
Here is a query for showing all databases in one Sql engine
Select * from Sys.Databases
SELECT name
FROM sys.databases
You'll only see the databases you have permission to see.
Source: Stackoverflow.com