如何通过KQL获取Azure中PaaS SQL数据库的服务器名称
解决KQL提取Azure SQL PaaS服务器名称的问题
你可以通过解析resources表中的id字段来提取服务器名称,该字段的固定层级结构包含了完整的资源路径信息。修改后的查询如下:
resources | project name, type, resourceGroup, id | where type =~ 'microsoft.sql/servers/databases' | where name != 'master' | extend ServerName = split(id, '/')[8] | project-away id // 若不需要保留id字段,可添加此行移除
关键说明:
id字段的格式为/subscriptions/{订阅ID}/resourceGroups/{资源组名}/providers/Microsoft.Sql/servers/{服务器名}/databases/{数据库名},按斜杠/分割后,服务器名称对应数组的第8个元素(数组索引从0开始计数)resources表本身没有内置的ServerName字段,这个字段仅在SQL数据库的日志、指标类汇总表(如AzureDiagnostics)中存在,因此必须从id字段解析提取- 如果需要保留
id字段,直接删除project-away id这一行即可
内容的提问来源于stack exchange,提问作者tithij
相关产品推荐
相关产品推荐

