Azure SQL 数据库弹性池 - 用于获取当前弹性池的 TSQL

Ste*_*o64 3 t-sql azure-sql-database

我希望能够使用 TSQL 获取当前数据库所属的弹性池的名称,但我可以找到包含弹性列的唯一 DMV 是 sys.elastic_pool_resource_stats & 我在那里没有看到任何对数据库的引用。我还检查了 sys.databases,看看是否有一个额外的列被偷偷地藏在那里,但我什么也认不出来。

理想情况下,这应该像 @@servername 或 db_name() 一样工作(他们到底什么时候才能创建 server_name() 或 @@dbname 以便我们可以一致地编码?)

有谁知道合适的命令?

(顺便说一句,没有“弹性池”标签)

Fra*_*ani 5

那这个呢?

-- TSQL to find Databases, corresponding elastic pool names and DB edition
 
SELECT
       @@SERVERNAME as [ServerName],
       dso.elastic_pool_name,
       d.name as DatabaseName,
       dso.edition
FROM
       sys.databases d inner join sys.database_service_objectives dso on d.database_id = dso.database_id
WHERE d.Name <> 'master'
ORDER BY
       d.name, dso.elastic_pool_name
Run Code Online (Sandbox Code Playgroud)