设为首页 收藏本站
查看: 1120|回复: 0

[经验分享] Azure SQL DB容灾到本地脚本

[复制链接]

尚未签到

发表于 2017-6-30 09:35:48 | 显示全部楼层 |阅读模式
  本脚本将Azure SQL Database 数据库容灾到本地
   (Azure SQL --> Azure Blob --> 本地)
  1.先决条件


  • Azure 账号
  • Storage 账号
  • 最新版本Azure Powershell
  2.本地使用管理员身份打开Windwos PowerShell ISE
  1).首次登录国内版Azure



Login-AzureRmAccount -EnvironmentName AzureChinaCloud
  2).保存登录信息 (脚本通过文件自动登录)



Save-AzureRmProfile -Path “{local path}”
  3).sql db容灾到 Azure Blob 再到本地 脚本    (Azure SQL -> Azure Blob -> 本地)



$mydate=(Get-Date).tostring('yyyy-MM-dd-HH-mm-ss')
Select-AzureRmProfile –Path "f:\myprofile.json"    #步骤二中保存在本地到本地的路径
$mystoreuri="{Blob Uri}/{Container}/manager$mydate.bacpac"  #保存到blob容器中的路径  ,manager$mydate 是保存数据库bacpac文件名称+时间
$sqlusername='{Your Sqlusername}'     #Azure sql 帐号
$sqlpassword=ConvertTo-SecureString -string '{Your Sqlpassword}' -asplaintext -force
$storagename='{Your StorageName}'
$storagekey='{Your StorageKey}'   
$storagekeytype='StorageAccessKey'
Set-AzureRmContext -SubscriptionId  '{Your SubscriptionId}'
$exportRequest = New-AzureRmSqlDatabaseExport -ResourceGroupName '{Your ResourceGroupName}' -ServerName '{Your ServerName}' -DatabaseName '{Your DBName}' -StorageKeytype StorageAccessKey -StorageKey $storagekey -StorageUri $mystoreuri -AdministratorLogin $sqlusername -AdministratorLoginPassword $sqlpassword


while((Get-AzureRmSqlDatabaseImportExportStatus -OperationStatusLink $exportRequest.OperationStatusLink).status){
    if((Get-AzureRmSqlDatabaseImportExportStatus -OperationStatusLink $exportRequest.OperationStatusLink).status  "Succeeded"){

     $StorageContext = New-AzureStorageContext -StorageAccountName $storagename -StorageAccountKey $storagekey -Environment AzureChinaCloud
      Get-AzureStorageBlobContent -Context $StorageContext -Container "{Your Container}" -Blob manager$mydate.bacpac  -Destination "{local Path}"  #本地路径  (这里的路径是需要保存从blob下载出来的DB备份文件)
      break;
  }

}
  4).执行脚本 结果如下:
DSC0000.png

   文件保存到了Blob中 再下载到本地
DSC0001.png

  我的文件是保存在F:test目录中
        DSC0002.png
   *最后再根据自己的需要做本地计划任务

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-389629-1-1.html 上篇帖子: [博客迁移]探索Windows Azure 监控和自动伸缩系列1 下篇帖子: Azure SQL Data Warehouse
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表