如何使用T-SQL在Azure SQL中按弹性池列出所有数据库?
查询Azure SQL弹性池中的数据库列表
最简实现查询
在Azure SQL逻辑服务器的master数据库中执行以下T-SQL语句,即可按指定弹性池名称获取其包含的数据库:
SELECT name AS databaseName FROM sys.databases d INNER JOIN sys.elastic_pools ep ON d.elastic_pool_id = ep.elastic_pool_id WHERE ep.name = 'pool-1';
关键说明
- 必须切换到
master数据库执行,用户数据库中无法直接获取此类跨库关联信息。 sys.databases记录了服务器上所有数据库的元数据,elastic_pool_id是关联弹性池的外键。sys.elastic_pools存储了服务器上所有弹性池的配置信息,通过两个视图的elastic_pool_id关联,就能精准筛选出目标弹性池下的数据库。
内容的提问来源于stack exchange,提问作者Dan Hunex
相关产品推荐
相关产品推荐

