我的SQL Server中有许多数据库.

我只需搜索包含特定表名Heartbitmaster的数据库名

我有很多数据库,比如GotgoldDVD等,我只想从包含该表Heartbitmaster的查询中查找数据库名称.

我搜索,我试着查询:

SELECT 
    TABLE_NAME  
FROM 
    INFORMATION_SCHEMA.TABLES 
WHERE 
    TABLE_TYPE = 'base table'   
    AND table_schema = 'Heartbitmaster'

但它没有起作用.

我进一步搜索,发现:

SELECT name, database_id, create_date
FROM sys.databases 

但是不知道如何进一步安排搜索表名的WHERE条件

请帮帮我.

推荐答案

我是通过以下查询完成的:

SELECT name FROM   sys.databases WHERE  CASE
  WHEN state_desc = 'ONLINE' 
  THEN OBJECT_ID(QUOTENAME(name) + '.[dbo].[heartbit]', 'U')
   END IS NOT NULL

Database相关问答推荐

如何将初始数据放入数据库

如何理解mysql explain 命令

您如何使两个相关但独立的系统保持同步?

数据库术语中的relation关系是什么意思?

SQLServer:如何对按外键依赖性排序的表名进行排序

操作错误:FATAL: database "django" does not exist

Laravel 5 从 URL 获取 ID

我应该为我创建的新创建的 PostgreSQL 模式使用什么正确的文件扩展名?

两个不同数据库中的两个表之间的连接有什么问题?

保存图像:文件还是 blob?

生成和读取条形码

ORA-00060: deadlock detected while waiting for resource

如何在 MySQL 中强制执行唯一约束?

Mysql用户创建脚本

如何从 T-SQL 中的表中 Select 前 N 行?

部分依赖(数据库)

限制来自本地主机的 MySQL 连接以提高安全性

mysql 无法从存储引擎读取自增值

QSqlDatabase & QSqlQuery 的正确方法是什么?

SQLite3 UNIQUE 约束失败错误