Ok, just run this and make sure you set your ColumnName variable
USE [master];
GO
IF OBJECT_ID('tempdb..#columns') IS NOT NULL
DROP TABLE #columns;
GO
CREATE TABLE #columns
( databaseName nvarchar(MAX),
columnid int,
columnName nvarchar(MAX),
objectid int,
objectName nvarchar(MAX));
DECLARE @databaseName sysname;
DECLARE @columnName nvarchar(MAX) = 'ColumnName';
DECLARE cur CURSOR LOCAL FORWARD_ONLY STATIC FOR
SELECT [name]
FROM [sys].[databases]
WHERE [state] = 0
AND [name] NOT IN ( 'tempdb', 'master', 'msdb', 'model' );
OPEN cur;
FETCH NEXT FROM cur
INTO @databaseName;
WHILE ( @@FETCH_STATUS != -1 )
BEGIN;
IF ( @@FETCH_STATUS != -2 )
BEGIN;
DECLARE @statement nvarchar(MAX);
SET @statement =N'Use '+ @databaseName +
N';
if EXISTS (SELECT name FROM sys.[columns] WHERE name = ''' + @columnName + ''')
BEGIN;
INSERT [#columns] ( [databaseName], [columnid], [columnName], [objectid], [objectName] )
SELECT ''' + @databaseName + N''',
c.[column_id],
c.[name],
o.[object_id],
o.[name]
FROM sys.[columns] c
INNER JOIN sys.[objects] o
ON [o].[object_id] = [c].[object_id]
WHERE c.[name] = ''' + @columnName + ''';
END;';
EXEC [sys].[sp_executesql] @stmt = @statement;
END;
FETCH NEXT FROM cur
INTO @databaseName;
END;
CLOSE cur;
DEALLOCATE cur;
SELECT * FROM [#columns];