1

我有多个 Azure SQL Server,每个可能包含至少一个 SQL 弹性池。我正在尝试构建一个 SQL 脚本,该脚本可以在任何这些服务器上执行 CREATE DATABASE 语句并选择该服务器上的一个可用池。为此,我想知道列出此服务器上所有可用弹性池的 T-SQL 语句。我发现下面的 SQL 将列出服务器上的所有数据库以及它们所在的池:

SELECT d.database_id, d.name, elastic_pool_name
FROM sys.databases d
JOIN sys.database_service_objectives dso ON d.database_id = dso.database_id

但是,这只会master在新服务器上返回,所以我不知道在服务器上的池中创建新数据库的池名称是什么。我还发现这个 REST API 端点列出了服务器上的所有弹性池,但我需要在 SQL 中执行它,而不是通过 HTTP。

4

1 回答 1

2

您可以从 sys.elastic_pool_resource_stats 获取服务器上的弹性池列表

select distinct @@servername as servername, elastic_pool_name from sys.elastic_pool_resource_stats

在此处输入图像描述

于 2022-02-13T12:36:20.237 回答