繁体   English   中英

如何定期将地理复制的Azure数据库(PaaS)数据下载到本地数据库

[英]How to regularly download Geo-Replicated Azure Database (PaaS) data to On-Premise database

我们在Azure SQL(平台即服务)中有一个地理复制数据库。 这是主/从类型的安排,因此地理复制数据库是只读的。

我们希望将数据从该Azure SQL数据库定期下载到具有相同架构的本地SQL Server数据库,而又不会对性能造成太大影响(Azure数据库是应用程序使用的主要数据库)。

我们最初查看了Azure SQL数据同步,希望从地理复制的数据中读取数据并将其下拉到内部部署,但是它需要创建触发器+跟踪表。 我对此不太满意,因为不可能在只读从属数据库上运行它,因此必须在事务型主数据库上对其进行设置(影响应用程序性能),这反过来又会-在地理复制数据库上创建这些额外的数据同步工件。 数据杂乱无章(我们有大量的表和数据,并且Azure PaaS数据库的大小受到限制)似乎很混乱,而且我们还使用了Redgate数据库生命周期管理,这可能会破坏这些架构对象并跟踪表每次执行发布时,它们不是由我们创建的,也不在我们的源代码管理中。

还有其他可行的选择(然后从PaaS移开,并在本地和云上构建群集的IaaS VM环境,并安装,修补SQL Server等)。 请记住,我们的人员资源非常紧张,这就是为什么PaaS最初是我们数据库的理想场所。

我应该提到,我们希望本地数据库与Azure数据库“相对”同步,但是本地数据最多可以使用一个小时的数据。

让我烦恼的是,某些选项可能是SSIS软件包? 或者以某种方式定期下载数据库的Bacpac并每30分钟在本地还原一次(但这是一个非常大的数据库)。

请注意,在此阶段它仅需要是单向的(从天蓝色到内部部署)。

您可以尝试使用Azure数据工厂,因为当SQL Server用作“接收器”时,它允许您在复制期间将数据追加到目标表或使用自定义逻辑调用存储过程。 您可以在此处了解更多信息

Azure数据工厂允许您通过使用具有最后更新的时间戳或递​​增键的水印列在初始完整数据加载之后增量加载数据(增量)。 增量加载解决方案在旧水印和新水印之间加载更改的数据。 您可以了解更多如何做到这一点与Azure的数据工厂在文章。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM