我对SQL Server数据字典不是特别熟悉,但我认为我尝试做的事情是可能的。
我们有许多复制的数据库,名称不同,比如: Client1 Client2 Client3
我希望不依赖命名约定,而是根据它们是否包含一个关键表(称之为MyTable)来识别这些数据库。因此,我开始思考需要以下查询:
SELECT db.name
FROM sys.databases db
JOIN sys.tables tbl ON ??
WHERE tbl.Name = 'MyTable'
这个方法行不通,因为我无法直接或间接地将sys.tables与sys.databases连接起来,而且sys.tables是基于活动数据库的视图,而不是所有数据库的完整表集。
有人能否为这种情况找到一个合适的查询语句?