DECLARE @SQL nvarchar(MAX);
SELECT @SQL =
(SELECT ' UNION ALL
SELECT ' + + quotename(name,'''') + ' as database_name,
s.name COLLATE DATABASE_DEFAULT
AS schema_name,
t.name COLLATE DATABASE_DEFAULT as table_name
FROM '+ quotename(name) + '.sys.tables t
JOIN '+ quotename(name) + '.sys.schemas s
on s.schema_id = t.schema_id
--where t.name like ''nom table''
'
FROM sys.databases
WHERE state=0
ORDER BY [name] FOR xml path(''), TYPE).value('.', 'nvarchar(max)');
SET @SQL = stuff(@SQL, 1, 12, '') + ' order by database_name,
schema_name,
table_name';
EXECUTE (@SQL);