在几个数据库中搜索表

时间:2010-04-19 10:23:38

标签: sql sql-server

我怎样才能找出一个表(比如说tbl_mytable)在哪个数据库中?

2 个答案:

答案 0 :(得分:0)

如果您使用的是SQL Server 2005或更高版本,这是一个特殊的事情,而不是程序化的事情,您可以尝试SQL Search by Red Gate。这是一个免费的Management Studio插件。

修改 以编程方式,您可以通过sp_MSForEachDB(这是一个未记录的系统过程)来执行此操作 - 因此,不保证功能在发行版之间的行为相同或甚至不存在(即不在生产代码中使用)。

EXECUTE sp_msforeachDB 'IF EXISTS(
    Select 1 From [?].INFORMATION_SCHEMA.Tables where TABLE_NAME = ''tbl_mytable'') 
    PRINT ''?'''

这将打印包含该表的数据库名称列表。

答案 1 :(得分:0)

我有这样的部分解决方案:

从DatabaseName.INFORMATION_SCHEMA.Tables中选择Table_Name,其中TABLE_NAME喜欢'tbl_Mytable'

但是上面的查询只会搜索一个数据库中的表。