使用TSQL获取SQL Azure数据库版本和服务目标
有人知道如何使用TSQL获取Azure数据库的版本(标准等)和服务目标(S1、S2等)?我可以找到PowerShell和门户解释,但找不到任何TSQL参考。您可以使用此查询检查数据库的服务版本:使用TSQL获取SQL Azure数据库版本和服务目标,tsql,azure,azure-sql-database,Tsql,Azure,Azure Sql Database,有人知道如何使用TSQL获取Azure数据库的版本(标准等)和服务目标(S1、S2等)?我可以找到PowerShell和门户解释,但找不到任何TSQL参考。您可以使用此查询检查数据库的服务版本: SELECT DATABASEPROPERTYEX('Database_Name', 'EDITION') SELECT DATABASEPROPERTYEX('Database_Name', 'ServiceObjective') 如果ServiceObjective行不工作,可能有各种原因: 您可
SELECT DATABASEPROPERTYEX('Database_Name', 'EDITION')
SELECT DATABASEPROPERTYEX('Database_Name', 'ServiceObjective')
如果ServiceObjective
行不工作,可能有各种原因:
sys.database\u service\u targets
。这还允许我在单个查询中检索SQL数据库弹性池名称。为方便起见,原始答案仍记录在下面
原始答案
我喜欢一次获取所有三个值,使用db_name()
指向当前数据库,并将NULL
ServiceObjective替换为对v11服务器更有用的消息
SELECT @@VERSION AS AzureVersion,
DATABASEPROPERTYEX(DB_NAME(), 'Edition') AS AzureEdition,
COALESCE(DATABASEPROPERTYEX(DB_NAME(), 'ServiceObjective'), 'N/A in v11') AS AzureTier
SQL Azure不支持所有TSQL命令。Azure中的大多数数据库操作只能通过Azure服务管理API进行。奇妙的查询任务如果您的活动数据库连接为“主”,则此查询的效果会更好一些IMHO:选择top(10000)d.name,dso.*FROM sys.Database\u Service\u targets dso INNER JOIN sys.databases d on d.Database\u id=dso.Database\u id
SELECT @@VERSION AS AzureVersion,
DATABASEPROPERTYEX(DB_NAME(), 'Edition') AS AzureEdition,
COALESCE(DATABASEPROPERTYEX(DB_NAME(), 'ServiceObjective'), 'N/A in v11') AS AzureTier