通过 SQL 检索服务器上所有数据库的 SQL Azure 服务级别
Retrieve SQL Azure service levels for all databases on a server via SQL
在升级到 SQL Azure V12 之前,我能够获得 SQL Azure 数据库服务器上所有数据库的服务级别(S1、S2、P1、P2 等)通过 运行 在 master 数据库中进行以下查询:
SELECT db.name DatabaseName, ru.sku AS ServiceTier,
slo.name AS ServiceLevel, ru.storage_in_megabytes AS StorageInMB,
ru.[time] ResourceUsageDateTime
FROM sys.databases db
LEFT OUTER JOIN dbo.slo_database_objectives dbslo ON (dbslo.database_id = db.database_id)
LEFT OUTER JOIN dbo.slo_service_objectives slo ON (slo.objective_id = dbslo.configured_objective_id)
LEFT OUTER JOIN sys.resource_usage ru ON (ru.database_name = db.name)
WHERE
ru.[time] = (SELECT MAX([time]) FROM sys.resource_usage);
然而,这现在 returns 一个错误说:
"Invalid object name 'dbo.slo_database_objectives'."
有谁知道通过 SQL 查询执行此操作的另一种方法?
您可以在数据库上查询:
select DATABASEPROPERTYEX(db_name(),'serviceobjective') serviceobjective,
DATABASEPROPERTYEX(db_name(),'serviceobjectiveid') serviceobjectiveId,
DATABASEPROPERTYEX(db_name(),'edition') edition
看起来它又开始工作了:
SELECT
d.name,
slo.*
FROM sys.databases d
JOIN sys.database_service_objectives slo
ON d.database_id = slo.database_id;
在升级到 SQL Azure V12 之前,我能够获得 SQL Azure 数据库服务器上所有数据库的服务级别(S1、S2、P1、P2 等)通过 运行 在 master 数据库中进行以下查询:
SELECT db.name DatabaseName, ru.sku AS ServiceTier,
slo.name AS ServiceLevel, ru.storage_in_megabytes AS StorageInMB,
ru.[time] ResourceUsageDateTime
FROM sys.databases db
LEFT OUTER JOIN dbo.slo_database_objectives dbslo ON (dbslo.database_id = db.database_id)
LEFT OUTER JOIN dbo.slo_service_objectives slo ON (slo.objective_id = dbslo.configured_objective_id)
LEFT OUTER JOIN sys.resource_usage ru ON (ru.database_name = db.name)
WHERE
ru.[time] = (SELECT MAX([time]) FROM sys.resource_usage);
然而,这现在 returns 一个错误说: "Invalid object name 'dbo.slo_database_objectives'."
有谁知道通过 SQL 查询执行此操作的另一种方法?
您可以在数据库上查询:
select DATABASEPROPERTYEX(db_name(),'serviceobjective') serviceobjective,
DATABASEPROPERTYEX(db_name(),'serviceobjectiveid') serviceobjectiveId,
DATABASEPROPERTYEX(db_name(),'edition') edition
看起来它又开始工作了:
SELECT
d.name,
slo.*
FROM sys.databases d
JOIN sys.database_service_objectives slo
ON d.database_id = slo.database_id;