Query below lists all schemas from all databases on SQL Server instance.
Here you can get list of databases only: link
Query
declare @query nvarchar(max);
set @query =
(select 'select ''' + name + ''' as database_name,
name COLLATE DATABASE_DEFAULT as schema_name
from ['+ name + '].sys.schemas union all '
from sys.databases
where database_id > 4
for xml path(''), type).value('.', 'nvarchar(max)');
set @query = left(@query,len(@query)-10) + ' order by database_name, schema_name';
execute (@query);
Columns
- database_name - database name
- schema_name - schema name
Rows
- One row represents one schema within database
- Scope of rows: all schemas from all databases on SQL Server instance
- Ordered by database name, schema name