将 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.当你的数据库文件很大时,建议优化以下内容 ...
随机推荐
- centos下yum搭建安装linux+apache+mysql+php环境教程
我们利用linux系统中yum安装Apache+MySQL+PHP是非常的简单哦,只需要几步就可以完成,具体如下: 一.脚本YUM源安装: 1.yum install wget ...
- Windows Server上用命令来起停IIS站点
平时,在Server上管理IIS,都是在界面上进行一些配置,然后再做一些start和stop操作... 对于配置的人来说,会做一些重复步骤,所以适当的使用命令,能大大提高效率. 下面命令是自己之前使用 ...
- EA添加流程图
- 【Leetcode】Combinations
Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...
- 原 tomcat的server.xml配置文件中三个端口的作用
以Tomcat7.0为例, 在安装目录下. conf/server.xml 中可以配置三个端口号, 如果使用多个tomcat 是需要配置这三个. 该Connector 用于监听请求. protocol ...
- Linux下安装&运行Jmeter程序
Jmeter在linux系统中运行需要安装jdk和Jmeter两个软件: 1.安装JDK 先检查系统是否有安装jdk,在linux中执行如下命令:java -version 如果返回版本信息,说明系 ...
- leetcode 892. 三维形体的表面积
题目描述: 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上. 返回最终形体的表面积. ...
- ajax动态给select赋值
<select name="elements" id="ele" style="width: 145px;"> ...
- javascript判断input框只能输入数字的方法
javascript 只允许输入数字有很多方法,总结如下 1,只允许输入数字和小数点. <input onKeypress="return (/[\d.]/.test(String.f ...
- [转]js 判断js函数、变量是否存在
本文转自:http://blog.csdn.net/liang4571231/article/details/4042519 在进行js编程时,总会出现可能一些函数或者变量未定义而被引用,导致报错的情 ...