使用 TSQL 获取 SQL Azure 数据库版本和 Service_Objective
Get SQL Azure database Edition and Service_Objective using TSQL
有谁知道如何使用 TSQL 获取 Azure 数据库的版本(标准版等)和 Service_Objective(S1、S2 等)?我可以找到 PowerShell 和 Portal 的解释,但找不到对 TSQL 的任何参考。
您可以使用此查询来检查数据库的服务版本:
SELECT DATABASEPROPERTYEX('Database_Name', 'EDITION')
SELECT DATABASEPROPERTYEX('Database_Name', 'ServiceObjective')
如果 ServiceObjective
线路不工作,可能有多种原因:
您可能正在尝试为未定义服务objective 的版本获取服务objective。例如,网络版。如果是网络版,ServiceObjective 应该 return null。
正如 Satya 在他们的评论中提到的,这仅适用于 V12 服务器。因此,如果您尝试在 V12 之前的服务器上 运行 此命令,则此命令将不起作用。
更新
我最近改用 Azure 系统 table sys.database_service_objectives
。这使我还可以在单个查询中检索 SQL 数据库弹性池名称。为方便起见,下面仍记录原答案。
SELECT @@VERSION AS AzureVersion,
db_name() AS [Name],
edition AS AzureEdition,
service_objective AS AzureTier,
elastic_pool_name AS ElasticPool
FROM sys.database_service_objectives
原答案
我喜欢一次获取所有三个值,使用 db_name()
指向当前数据库,并用对 v11 服务器更有用的消息替换 NULL
ServiceObjective。
SELECT @@VERSION AS AzureVersion,
DATABASEPROPERTYEX(DB_NAME(), 'Edition') AS AzureEdition,
COALESCE(DATABASEPROPERTYEX(DB_NAME(), 'ServiceObjective'), 'N/A in v11') AS AzureTier
有谁知道如何使用 TSQL 获取 Azure 数据库的版本(标准版等)和 Service_Objective(S1、S2 等)?我可以找到 PowerShell 和 Portal 的解释,但找不到对 TSQL 的任何参考。
您可以使用此查询来检查数据库的服务版本:
SELECT DATABASEPROPERTYEX('Database_Name', 'EDITION')
SELECT DATABASEPROPERTYEX('Database_Name', 'ServiceObjective')
如果 ServiceObjective
线路不工作,可能有多种原因:
您可能正在尝试为未定义服务objective 的版本获取服务objective。例如,网络版。如果是网络版,ServiceObjective 应该 return null。
正如 Satya 在他们的评论中提到的,这仅适用于 V12 服务器。因此,如果您尝试在 V12 之前的服务器上 运行 此命令,则此命令将不起作用。
更新
我最近改用 Azure 系统 table sys.database_service_objectives
。这使我还可以在单个查询中检索 SQL 数据库弹性池名称。为方便起见,下面仍记录原答案。
SELECT @@VERSION AS AzureVersion,
db_name() AS [Name],
edition AS AzureEdition,
service_objective AS AzureTier,
elastic_pool_name AS ElasticPool
FROM sys.database_service_objectives
原答案
我喜欢一次获取所有三个值,使用 db_name()
指向当前数据库,并用对 v11 服务器更有用的消息替换 NULL
ServiceObjective。
SELECT @@VERSION AS AzureVersion,
DATABASEPROPERTYEX(DB_NAME(), 'Edition') AS AzureEdition,
COALESCE(DATABASEPROPERTYEX(DB_NAME(), 'ServiceObjective'), 'N/A in v11') AS AzureTier