我正在使用SQL Server 2014 Management Studio。我试过这个问题:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%SomeColumn%'
执行上述查询后我得到了这个:
但是,我知道我在WHERE中指定的列是我的一个数据库中的一个表中的有效列。
我只是觉得可能会有一个表,其中每一行都有关于列的信息(包括它属于哪个表以及哪个数据库);所以我可以查询专栏' SomeColumn'然后查看它所在的表和数据库。
答案 0 :(得分:0)
您可以使用sp_MSforeachdb
DECLARE @sql VARCHAR(MAX)
SET @sql =
'USE ?;
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG LIKE ''%%''
AND COLUMN_NAME LIKE ''%SomeColumn%'''
EXEC sys.sp_MSforeachdb @sql
答案 1 :(得分:0)
这可能对您有用:
EXEC sp_MSforeachdb 'USE ? SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE ''%SomeColumn%'''
sp_msforeachdb sp将在您服务器上的所有数据库上运行您的语句。