正在寻找访问 Azure SQL 数据库的更好方法?
Looking for a better way to access Azure SQL Databases?
现在,每当我想访问我在 MS Azure SQL 上的数据库时,我需要登录并将我的 IP 地址添加到防火墙的 IP 列表中,然后我才能 运行 查询。
有没有更好的方法可以验证我的计算机始终访问数据库,而无需每次都将自己添加到防火墙白名单中。
我知道自己获得固定 IP 或添加 0.0.0.0 - 255.255.255.255 的 IP 范围基本上可以解决问题,但还有其他选择吗?
您只需运行以下PowerShell脚本即可自动为您创建防火墙规则,然后您只需运行SQLServer Management Studio或Azure Data Studio进行连接到 Azure SQL 数据库。
此脚本会将您当前的 IP 添加到防火墙白名单中。
$subscriptionName = 'Your Subscription'
$ipGetCommand = 'http://www.iplocation.net/find-ip-address'
$firewallRule = 'My-Home'
$serverName = "Your Server Name";
$webclient = New-Object System.Net.WebClient
$queryResult = $webclient.DownloadString($ipGetCommand)
$queryResult -match '\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b'
$currentPublicIp = $($matches[0])
Select-AzureSubscription -SubscriptionName $subscriptionName
If ((Get-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule) -eq $null) {
New-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule -StartIpAddress $currentPublicIp -EndIpAddress $currentPublicIp
}
else {
Set-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule -StartIpAddress $currentPublicIp -EndIpAddress $currentPublicIp
}
您还可以在您的计算机上创建一个计划任务,以便在您启动计算机时 运行 此 PowerShell 为您服务。
现在,每当我想访问我在 MS Azure SQL 上的数据库时,我需要登录并将我的 IP 地址添加到防火墙的 IP 列表中,然后我才能 运行 查询。
有没有更好的方法可以验证我的计算机始终访问数据库,而无需每次都将自己添加到防火墙白名单中。
我知道自己获得固定 IP 或添加 0.0.0.0 - 255.255.255.255 的 IP 范围基本上可以解决问题,但还有其他选择吗?
您只需运行以下PowerShell脚本即可自动为您创建防火墙规则,然后您只需运行SQLServer Management Studio或Azure Data Studio进行连接到 Azure SQL 数据库。
此脚本会将您当前的 IP 添加到防火墙白名单中。
$subscriptionName = 'Your Subscription'
$ipGetCommand = 'http://www.iplocation.net/find-ip-address'
$firewallRule = 'My-Home'
$serverName = "Your Server Name";
$webclient = New-Object System.Net.WebClient
$queryResult = $webclient.DownloadString($ipGetCommand)
$queryResult -match '\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b'
$currentPublicIp = $($matches[0])
Select-AzureSubscription -SubscriptionName $subscriptionName
If ((Get-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule) -eq $null) {
New-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule -StartIpAddress $currentPublicIp -EndIpAddress $currentPublicIp
}
else {
Set-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule -StartIpAddress $currentPublicIp -EndIpAddress $currentPublicIp
}
您还可以在您的计算机上创建一个计划任务,以便在您启动计算机时 运行 此 PowerShell 为您服务。