如何在 Azure SQL PaaS 中进行复制
Posted
技术标签:
【中文标题】如何在 Azure SQL PaaS 中进行复制【英文标题】:How to do replication in Azure SQL PaaS 【发布时间】:2016-06-05 06:20:43 【问题描述】:在我们的应用程序中,我们有外部源来处理数据并将数据插入数据库,以及用于应用程序的同一数据库。因此,数据库过载。
为了避免这种情况,我们使用了两台服务器,一台用于处理数据,另一台用于应用程序。在第一台服务器处理后,我们通过复制过程将数据移动到其他服务器。
现在我们想将整个设置迁移到 Azure SQL PaaS。目前在 Azure PaaS 中无法进行复制。
请帮助我们解决这个问题。
【问题讨论】:
【参考方案1】:如果您的应用程序包含更新或插入,那么您需要一个主动-主动配置,这可以使用事务复制来完成。目前 SQL 数据库仅支持从本地 SQL 服务器(或 VM 中的 SQL 服务器)到 SQL 数据库的单向复制。上面的链接提供了如何使用单向复制的详细信息。如果您想将整个设置移动到 Azure,我建议在 VM 中使用 SQL 服务器从外部源插入数据,并为应用程序使用 SQL 数据库。有关从本地迁移到 VM 中的 SQL 的详细信息,请参阅 here。
如果您的应用程序以只读模式运行,您可以考虑Active geo-replication。它支持单主配置,其中所有更新都在主节点上进行。这将允许您将 SQL 数据库用于两个副本。您可以在同一区域或两个不同区域中同时拥有主要和次要。使用两个区域将提供最终的隔离,并允许您在负载平衡之外使用辅助区域进行灾难恢复。所述设置需要使用高级服务层。查看this article 了解 SQL 数据库服务层的详细信息。
请注意,活动的异地复制概述文章正在更新,提供更多信息,因此我建议您过几天检查一下。
【讨论】:
【参考方案2】:使用 SQL 2016,这将成为可能:
https://azure.microsoft.com/nl-nl/blog/transactional-replication-to-azure-sql-db/
一个可行的方案是在 SQL 2014 上运行生产,复制到 SQL 2016 CTP,然后将其复制到 SQL Azure
【讨论】:
以上是关于如何在 Azure SQL PaaS 中进行复制的主要内容,如果未能解决你的问题,请参考以下文章
使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例)
Azure Stack技术深入浅出系列5:在Azure Stack上使用Web App PaaS服务及其背后原理窥探(开发案例)