将 Azure SQL 内数据下载到本地,满足企业的「数据收集」
嫌长不看版
本文介绍了通过复制和导出两个操作,将 Azure SQL 数据库中的内容转移至其他位置(例如本地环境)的具体做法。借此可以帮助用户在 Azure 中运行数据库的同时,在本地或指定的其他位置额外保留一个副本,满足制度或业务等各方面的要求。
操作细节版
很多用户向小编提出了这样一个问题:已经在使用 Azure SQL 数据库服务,虽然该服务有非常完善的数据备份和灾备机制,但出于公司制度或其他方面的要求,需要定期将数据库的完整内容下载到本地保存,哪怕手工操作也可以。
这当然是可以的,不过首先小编想再次向大家强调一下 Azure SQL 服务提供的各种数据保护机制:
Azure SQL 可在(基本、标准、高级三个服务级别的)数据库层面提供 99.99% 的服务级别协议。
高级版提供主动地域复制功能,可在任何 Azure 区域创建多达 4 个可读辅助副本,并控制在何时何处进行故障转移。
通过自助式还原可更好地对“不利条件下的恢复”加以控制,客户可以从可用数据备份副本控制数据还原的全过程。
在高级版中,SQL 数据库最多可将备份副本保存 35 天,供您随时进行恢复。
好了,明确这些问题后,看看到底该如何将 Azure SQL 中的数据保存到本地吧。
方法一:对 Azure SQL 数据库进行复制
对于 Azure SQL 数据库,我们可以用多种方式在相同或不同服务器上创建现有 Azure SQL 数据库的事务一致性副本。数据库副本是源数据库截至复制请求发出时的快照,我们可以选择相同或不同服务器、其服务层和性能级别、相同服务层中的不同性能级别(版本)。在完成复制后,副本将成为能够完全行使功能的独立数据库。此时,可以将其升级或降级为任何版本。
我们可以根据具体需要,通过 Azure 门户、PowerShell,或者 Transact-SQL 将 Azure SQL 数据库复制到本地(或者其他位置)。
以 Azure 门户下的操作为例,只需登录 Azure 管理门户,打开要复制的数据库相应的配置界面,然后点击工具栏上的「复制」,并选择要复制到的目标服务器,这就可以了。
当然也可以通过 PowerShell,使用 New-AzureRmSqlDatabaseCopy 这个 cmdlet 进行复制:
这个方法的进一步介绍,以及更多操作方式的具体做法,可以参阅:复制 Azure SQL 数据库。
方法二:将 Azure SQL 数据库导出为 BACPAC 文件
除了进行复制,也可以执行导出操作,获得 Azure SQL 数据库对应的 BACPAC 文件。这种方式更适合数据存档或转移至其他平台等用途。
BACPAC 文件是一个扩展名为 BACPAC 的 ZIP 文件,它包含来自 SQL Server 数据库的元数据和数据。我们可将 BACPAC 文件存储在 Azure Blob 存储或本地存储中,之后可以导入回 Azure SQL 数据库或 SQL Server 本地安装。
使用该方法前有几个问题需要注意:
为保证导出的事务处理方式一致,必须确保导出期间未发生写入活动,或者正在从 Azure SQL 数据库的事务处理方式一致性副本中导出。
如果是导出到 Blob 存储,则 BACPAC 文件最大大小为 200GB。若要存档更大的 BACPAC 文件,请导出到本地存储。
不支持使用这个方法将 BACPAC 文件导出到 Azure 高级存储。
如果从 Azure SQL 数据库进行的导出操作超过 20 个小时,系统可能会取消该操作。
我们可以通过 Azure 门户、SQL Package 实用程序、SQL Server Management Studio,以及 PowerShell将 Azure SQL 数据库导出为 BACPAC 文件。
以 Azure 门户下的操作为例,只需登录 Azure 管理门户,打开要导出的数据库相应的配置界面,然后点击工具栏上的「导出」,并选择要导出到的存储位置和其他选项即可。
此外也可以通过 PowerShell,使用 New-AzureRmSqlDatabaseEmport 这个 cmdlet 向 Azure SQL 数据库服务提交导出数据库请求。
这个方法的进一步介绍,以及更多操作方式的具体做法,可以参阅:将 Azure SQL 数据库导出到 BACPAC文件。
将 Azure SQL 内数据下载到本地,满足企业的「数据收集」的更多相关文章
- 使用Automation将Azure SQL DB容灾到本地
前段时间有个客户有如下需求,将Azure SQL Database数据库容灾到本地(备份频率1小时/次). 那么对于这样的需求,我们可以使用Azure Automation来实现自动化备份到本地. 大 ...
- Azure SQL Database (24) 使用新管理界面,创建跨数据中心标准地域复制(Standard Geo-Replication)
<Windows Azure Platform 系列文章目录> 文本是对:SQL Azure (17) SQL Azure V12 - 跨数据中心标准地域复制(Standard Geo-R ...
- Azure 进阶攻略 | 上云后的系统,「门禁」制度又该如何实现?
各位办公室白领们,不妨回想一下自己每天去公司上班时的一些细节. 为避免「闲杂人等」进入工作场所,我们需要证明自己是这家公司的员工才能进入,对吧!所有员工,无论所属部门或职位,都必须先证明自己身份,例如 ...
- [转]Azure 表存储和 Windows Azure SQL Database - 比较与对照
本文转自:https://msdn.microsoft.com/library/azure/jj553018 更新时间: 2014年10月 作者:Valery Mizonov 和 Seth Manhe ...
- Azure SQL Database (25) Azure SQL Database创建只读用户
<Windows Azure Platform 系列文章目录> 本文将介绍如何在Azure SQL Database创建只读用户. 请先按照笔者之前的文章:Azure SQL Databa ...
- 医学图像数据(三)——TCIA部分数据下载方式
前为止,本人还没有找到不需要账号的就可以部分下载的方式,因此这里讲的是需要注册账号下载部分数据的方法. 注意:下载部分数据需要注册账号 注册账号网址:https://public.cancerimag ...
- DEM数据及其他数据下载
GLCF大家都知道吧?http://glcf.umiacs.umd.edu/data/ +++++++++++++++去年12月份听遥感所一老师说TM08初将上网8万景,可是最近一直都没看到相关的网页 ...
- 【数据库-Azure SQL Database】如何创建事务复制将本地数据同步到 SQL Azure
Azure SQL DB 可以被配置成为 SQL Server 事务复制的一个订阅者( subscriber ). 主要应用场景有两种: 将您的数据迁移到 Azure SQL DB, 并且没有宕机时间 ...
- SQL Azure (14) 将云端SQL Azure中的数据库备份到本地SQL Server
<Windows Azure Platform 系列文章目录> 注意: 1.只有SQL Server 2012 CU4及以上版本才支持本章内容 2.当你的数据库文件很大时,建议优化以下内容 ...
随机推荐
- 勤哲Excel服务器人力资源管理系统
“一个和尚挑水吃,两个和尚抬水吃,三个和尚没水吃!”,这则古老寓言之于现代企业管理而言,相当有意义.在现代企业管理中,类似三个和尚没水吃的管理难题是普遍存在的.如何有效破解?还是得从管理下手,从建立管 ...
- 图像标注工具labelImg安装记录
这里仅记载下labelImg的安装过程,因为有坑. 我的安装方式是从源码编译,环境ubuntu16.04,一开始是使用python2安装,从github上下载好源码,然后执行安装命令 sudo apt ...
- C语言中的预处理命令
预处理功能是C语言的重要功能. 问:为什么要预处理,什么是预处理? 答:我们知道高级语言的运行过程是通过编译程序(编译器)把源代码翻译成机器语言,实现运行的.编译程序的工作包含:语法分析.词法分析.代 ...
- 【笔记】Django的ORM之删和改
[笔记]Django的ORM之删和改 Django ORM 数据库 一 删除操作 1.视图层 <table border="1"> <thead> < ...
- 关于Django在写小项目的一些小注意事项
个人常踩的坑的小问题: . 在筛选元素的时候,及时queryset里面只有一个元素,取值还是要用方法取出来 例:#当狗指定pd时候已经唯一,还是要加fir()方法,本人经常忘记了 models.Boo ...
- vue(3)IDE
使用vscode,下载:https://code.visualstudio.com/Download 1.安装vscode 2.安装插件 方式一:https://marketplace.visuals ...
- java——异常类、异常捕获、finally、异常抛出、自定义异常
编译错误:由于编写程序不符合程序的语法规定而导致的语法问题. 运行错误:能够顺利的编译通过,但是在程序运行过程中产生的错误. java异常类都是由Throwable类派生而来的,派生出来的两个分支分别 ...
- 用navigator.geolocation.getCurrentPosition在IOS10以上的系统无法定位
昨天老板告诉我代码有Bug(定位失败),于是各种测试最终发现IOS10以上版本手机不能成功(穷,买不起iphone,测试不完全),先贴失败代码: var city =""; nav ...
- spark第一篇:RDD Programming Guide
预览 在高层次上,每一个Spark应用(application)都包含一个驱动程序(driver program),该程序运行用户的主函数(main function),并在集群上执行各种并行操作. ...
- android window(二)从getSystemService到WindowManagerGlobal
在Activity调用getSystemService(WINDOW_SERVICE) 调用的是父类ContextThemeWrapper package android.view; public c ...