从Azure MySQL迁移到SQL Server我需要指定一系列可以访问Db的IP地址。
输入的范围是0.0.0.0到255.255.255.255可以吗?是否有一系列IP地址可以为我提供“全部允许”。它对我来说不实用,知道请求将来自哪里,并不断更新数据库防火墙规则。
答案 0 :(得分:10)
输入的范围是0.0.0.0到255.255.255.255可以吗?是否有一系列IP地址可以为我提供“全部允许”。它对我来说不太实用,知道请求将来自哪里,并不断更新数据库防火墙规则。
是的,这将允许从每个IP地址访问您的SQL Azure数据库,但肯定不建议这样做。当您提到您不知道从哪里收到请求时,您是指对您的应用程序的请求还是连接到数据库的请求?如果是对您的应用程序的请求,则您实际上不需要指定此范围。您可以指定0.0.0.0,这将允许您在Windows Azure中运行的应用程序访问此数据库。
答案 1 :(得分:2)
每次您希望从新IP连接时,我建议使用PowerShell / Azure命令行工具为mac(http://azure.microsoft.com/en-us/documentation/articles/command-line-tools/)运行脚本。
如果使用命令行工具使用Mac链接Azure订阅,则:
#!/bin/bash externalIP=$(curl -s icanhazip.com) ruleName="temp$externalIP" echo "$externalIP" azure sql firewallrule create [ServerName] "$ruleName" "$externalIP" "$externalIP"
将其保存为azureip.sh并从终端运行。
如果使用Windows,则有许多使用PowerShell
的例子答案 2 :(得分:1)
我建议您阅读此tutorial,他将帮助您了解如何创建数据库级规则和允许从Azure访问。
答案 3 :(得分:0)
它的旧版本只是到了这里,我想在Azure SQL数据库服务器(配置选项卡)下允许服务为是或否。将其切换为是
答案 4 :(得分:0)
添加到Ronald的解决方案,删除现有的临时规则并使用ipv4端点。
#!/bin/bash
server="yourservername"
azure sql firewallrule list $server | awk '{print $2}' | grep temp | while read line ; do azure sql firewallrule delete $server $line -q ; done
externalIP=$(curl -s ipv4.icanhazip.com)
ruleName="temp$externalIP"
azure sql firewallrule create $server "$ruleName" "$externalIP" "$externalIP"