T-Sql
Azure SQL 數據庫彈性池 - 獲取目前彈性池的 TSQL
我希望能夠使用 TSQL 獲取目前數據庫所屬的彈性池的名稱,但我能找到的唯一 DMV 包含彈性列是 sys.elastic_pool_resource_stats 並且我沒有看到對那裡的數據庫的任何引用。我還檢查了 sys.databases 以查看是否有一個額外的列被偷偷地放在那裡,但我無法辨識。
理想情況下,這應該像 @@servername 或 db_name() 一樣工作(他們什麼時候會開始創建 server_name() 或 @@dbname 以便我們可以一致地編碼?)
有誰知道合適的命令?
(順便說一句,“彈性池”沒有標籤)
這個呢?
-- 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
找到它,雖然解決方案相當有限,因為這個 DMV 僅在主數據庫中可用,您實際上無法從使用者數據庫中引用它。
select d.name, o.* from sys.database_service_objectives o join sys.databases d on o.database_id = d.database_id