DECLARE @ListSchemas NVARCHAR(MAX)

SELECT @ListSchemas = STUFF((SELECT ' UNION ALL
SELECT ' +  + QUOTENAME(name,'''') + ' as DbName, cast(Name as varchar(128)) COLLATE DATABASE_DEFAULT 
AS Schema_Name FROM ' + QUOTENAME(name) + '.sys.schemas         
              where left(cast(Name as varchar(128)) COLLATE DATABASE_DEFAULT,3)<>''db_'' 
		      AND  (cast(Name as varchar(128)) COLLATE DATABASE_DEFAULT)<>''sys''
		      AND  (cast(Name as varchar(128)) COLLATE DATABASE_DEFAULT)<>''INFORMATION_SCHEMA''
		      AND  (cast(Name as varchar(128)) COLLATE DATABASE_DEFAULT)<>''guest''
'

FROM sys.databases Order BY [name] FOR XML PATH(''),type).value('.','nvarchar(max)'),1,12,'')

SET @ListSchemas = @ListSchemas + ' ORDER BY DbName, Schema_Name'

EXECUTE (@ListSchemas)
SQL