我已经使用下面的powershell脚本为MySQL单个服务器还原了Azure数据库。
现在,post还原DB I必须手动复制MySQL单个服务器的Azure数据库连接安全性中的所有防火墙规则和其他设置。
还原DB之后,我想使用powershell脚本自动将连接安全配置从源( MySQL单服务器的Azure数据库)复制到还原的连接( MySQL单服务器的Azure数据库)。我想不出它是如何自动实现的。
#######################还原DB Server #######################写-主机“为我的Server还原Azure DB”$restorePointInTime = (Get-Date).AddMinutes(-5) $DBServerbackupStatus=Get-AzMySqlServer -Name $SourceDBServerName -ResourceGroupName $ResourceGroupName还原-AzMySqlServer -Name $TargetDBServerName -ResourceGroupName -RestorePointInTime $restorePointInTime -UsePointInTimeRestore start-Date -s 60 the Host“-UsePointInTimeRestore还原过程已完成,请查找下面的当前状态”。
发布于 2022-05-12 00:10:45
最后,我能够修复这个问题,并且能够编写我的解决方案,而且它已经成功了。
#####################从Soiurce DB服务器更新防火墙规则到目标DB服务器##################
Write-Host -NoNewline "Updating Firewall rules from Soiurce DB server to Target DB server"
Get-AzMySqlFirewallRule -ResourceGroupName $ResourceGroupName -ServerName $SourceDBServerName | Select-Object Name, StartIPaddress, EndIPaddress | Convertto-Json | Out-File "file.json"
foreach ($entry in (Get-Content file.json -raw | ConvertFrom-Json)) {
New-AzMySqlFirewallRule -Name $entry.Name -ResourceGroupName $ResourceGroupName -ServerName $TargetDBServerName -EndIPAddress $entry.EndIPAddress -StartIPAddress $entry.StartIPAddress
}发布于 2022-05-06 09:35:27
您可以以JSON或Bicep格式创建Azure资源管理器(ARM)模板,用于创建防火墙规则,该模板可与任何Azure SQL数据库一起使用。
若要创建Microsoft.Sql/servers/firewallRules资源,请向模板中添加以下Bicep或JSON。
{
"type": "Microsoft.Sql/servers/firewallRules",
"apiVersion": "2021-11-01-preview",
"name": "string",
"properties": {
"endIpAddress": "string",
"startIpAddress": "string"
}
}有一些已经预定义的快速启动模板,您可以检查这里。
https://stackoverflow.com/questions/72123605
复制相似问题