如何使用azure-mgmt-sql获取SQL托管实例中的数据库
获取Azure SQL托管实例中的数据库解决方案
你当前遇到的错误是因为误用了针对常规SQL服务器的数据库查询方法。SQL托管实例的数据库属于独立的managed_databases资源类型,不能通过databases.list_by_server来获取,需要使用对应的managed_databases.list_by_instance方法。
正确代码示例
# 假设已完成SqlManagementClient的初始化(包含身份验证等步骤) resources = sql_client.managed_instances.list_by_resource_group("myresourcegroup") for instance in resources: # 使用managed_databases专属方法查询托管实例下的数据库 managed_databases = sql_client.managed_databases.list_by_instance( resource_group_name="myresourcegroup", managed_instance_name=instance.name ) for db in managed_databases: print(db.name)
关键说明
- Azure SQL的两类资源对应不同的操作类:常规SQL服务器的数据库用
sql_client.databases,SQL托管实例的数据库用sql_client.managed_databases,两者API不可混用。 list_by_instance方法的参数与获取托管实例时一致,只需传入资源组名称和托管实例名称即可正确查询到对应数据库。
内容的提问来源于stack exchange,提问作者Miguel Febres
相关产品推荐
相关产品推荐

