如何快速从ADF链接服务中查找关联的SQL Server?
高效确认指定资源组ADF与特定SQL Server的关联关系
以下几种方法可替代手动操作,大幅提升验证效率:
方法1:使用Azure CLI查询链接服务
先确保已登录Azure CLI,运行以下命令查询指定资源组下目标ADF的所有链接服务,并筛选出关联目标SQL Server的条目:
az datafactory linked-service list --resource-group <resource-group-name> --factory-name <data-factory-name> --query "[?contains(properties.connectionString, '<sql-server-name>.database.windows.net')]"
- 替换占位符:
<resource-group-name>为目标资源组名称,<data-factory-name>为ADF名称,<sql-server-name>为你的SQL Server短名称(不含.database.windows.net后缀) - 若输出非空,说明该ADF存在关联目标SQL Server的链接服务;空输出则无关联
方法2:使用Azure PowerShell查询
登录Azure PowerShell后,执行以下脚本:
$resourceGroup = "<resource-group-name>" $dataFactoryName = "<data-factory-name>" $sqlServerName = "<sql-server-name>" $linkedServices = Get-AzDataFactoryV2LinkedService -ResourceGroupName $resourceGroup -DataFactoryName $dataFactoryName $relatedServices = $linkedServices | Where-Object { $_.Properties.ConnectionString -like "*$sqlServerName.database.windows.net*" } $relatedServices
- 替换对应占位符后运行,若返回结果即为关联目标SQL Server的链接服务;无结果则说明未关联
方法3:使用Azure Resource Graph查询(适合批量验证)
在Azure门户的「Resource Graph Explorer」中运行以下Kusto查询,可直接筛选指定资源组下所有ADF中关联目标SQL Server的链接服务:
Resources | where type == "microsoft.datafactory/factories/linkedservices" | where resourceGroup == "<resource-group-name>" | where properties.connectionString contains "<sql-server-name>.database.windows.net" | project name, factoryName = split(id, '/')[8], resourceGroup, connectionString = properties.connectionString
- 该查询会返回所有符合条件的链接服务及其所属ADF名称,适合同时检查多个ADF的场景
内容的提问来源于stack exchange,提问作者Sarmistha Sarkar
相关产品推荐
相关产品推荐

