从SQL Server 2014 Management Studio中的服务器实例上的所有数据库中选择列的简单方法?

时间:2018-04-17 21:25:20

标签: sql-server sql-server-2014

我正在使用SQL Server 2014 Management Studio。我试过这个问题:

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS
  WHERE COLUMN_NAME LIKE '%SomeColumn%'

执行上述查询后我得到了这个:

enter image description here

但是,我知道我在WHERE中指定的列是我的一个数据库中的一个表中的有效列。

我只是觉得可能会有一个表,其中每一行都有关于列的信息(包括它属于哪个表以及哪个数据库);所以我可以查询专栏' SomeColumn'然后查看它所在的表和数据库。

2 个答案:

答案 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将在您服务器上的所有数据库上运行您的语句。