使用 vso powershell 任务自动将客户端 IP 地址设置为 azure sql 服务器

Set Client IP address to the azure sql server automatically using vso powershell task

问题:当我创建新的 sql 服务器和数据库时。我的下一个任务是连接数据库,但由于客户端 IP 未添加到 sql 服务器的防火墙中而中断。 我不想手动添加它。 有什么方法可以使用 Powershell 进行设置吗?它应该与我在 azure sql 服务器防火墙和虚拟网络中看到的 IP 完全相同。

解决方法 目前我使用 azure sql 任务添加了从 0.0.0.0 到 255.255.255.255 的 IP 范围,但这不是正确的方法。

exec sp_set_firewall_rule N'AllowAzure', '0.0.0.0', '255.255.255.255'; 

是的,您可以使用 Set-AzureRmSqlServerFirewallRule cmdlet。 要检索当前 IP,我使用 ipify.org。示例:

$clientIp = Invoke-WebRequest 'https://api.ipify.org' | Select-Object -ExpandProperty Content

Set-AzureRmSqlServerFirewallRule `
            -ResourceGroupName "myrg" `
            -ServerName "myserver" `
            -FirewallRuleName "myrulename" `
            -StartIpAddress $clientIp `
            -EndIpAddress $clientIp