将 Azure SQL 内数据下载到本地,满足企业的「数据收集」

Posted 云计算和大数据收集

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将 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文件

 

立即访问http://market.azure.cn

以上是关于将 Azure SQL 内数据下载到本地,满足企业的「数据收集」的主要内容,如果未能解决你的问题,请参考以下文章

将本地 SQL Server 数据库同步到 Azure Windows Server SQL Server 的最佳方式是啥

Azure SQL 数据库管理员权限

在从本地迁移到Azure SQL数据库时如何计划生产切换?

将 MVC 项目从本地迁移到 Azure - SQL Server 问题

如何将 Azure SQL 数据库中的副本复制到我的本地 ubuntu 机器中?

将 s-s-rS 报告迁移到 AZURE VM,而不迁移本地 SQL 数据库。可能吗?