能否通过Azure REST API按服务器获取旗下所有数据库的使用情况报告?
可以通过Azure REST API实现按服务器获取所有数据库使用情况报告
要实现按服务器名称获取其下所有数据库的使用情况报告(包含实际大小与最大大小),你需要分两步操作:
获取目标服务器下的所有数据库列表
调用Databases_ListByServerAPI,传入订阅ID、资源组名称和服务器名称,获取该服务器下所有数据库的基本信息(包括每个数据库的名称)。
请求示例:GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases?api-version=2021-05-01-preview响应会返回该服务器下所有数据库的集合,你可以从中提取每个数据库的名称。
遍历调用单个数据库使用情况API
对第一步获取到的每个数据库,调用你已经使用的DatabaseUsages_ListByDatabaseAPI,传入对应数据库的名称,收集每个数据库的使用情况数据(实际大小、最大大小等)。
请求示例(针对单个数据库):GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages?api-version=2021-05-01-preview
权限说明
执行上述操作需要你的身份具备以下权限:
Microsoft.Sql/servers/databases/read:用于读取服务器下的数据库列表Microsoft.Sql/servers/databases/usages/read:用于读取单个数据库的使用情况数据
通常,分配SQL DB Contributor或Reader角色可以满足这些权限要求。
内容的提问来源于stack exchange,提问作者Krrish
相关产品推荐
相关产品推荐

