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

Posted

技术标签:

【中文标题】将本地 SQL Server 数据库同步到 Azure Windows Server SQL Server 的最佳方式是啥【英文标题】:What's the best way to Sync on premise SQL Server database to Azure Windows Server SQL Server将本地 SQL Server 数据库同步到 Azure Windows Server SQL Server 的最佳方式是什么 【发布时间】:2020-05-13 14:25:50 【问题描述】:

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

我们有 Windows Server 2016、SQL Server 和 Dynamics Nav 的离线服务器。

我们创建了一个 Azure VM 并安装了 Windows Server 2016、SQL Server 并恢复了数据库。我们还安装了 Nav Dynamics 并同步 VM SQL Server。一切都集成在 VM 上。

我们希望数据自动化并每小时将本地 SQL Server 与在线 SQL Server 同步一次。

实现这一目标的最佳、有效方法是什么。我们尝试使用 Azure SQL Server,但数据同步组存在限制,它只能同步少于 500 个表的数据库。我们的数据库中有 2500 多个表。

【问题讨论】:

嗨,对于 azure 同步,您似乎必须创建多个同步组,例如azure.microsoft.com/en-us/blog/… 其他几种方法可能是使用 Azure 数据工厂来安排运行,检查自上次运行以来更新的数据,然后插入相应的表或使用 Azure 函数/队列来模拟相同的事情,安排触发器来选择最新的行,发送到队列,侦听器到队列,然后相应地在 azure sql 上应用更新。这可能也是最便宜的方式 【参考方案1】:

从您之前的问题中我知道 Azure SQL Data Sync 不适合您,但 SQL Data Sync 是基于 Microsoft Sync Framework,我相信您可以使用 Microsoft Sync Framework 构建自己的解决方案,如图所示here。

您拥有的商业替代品是SymmetricDS。

另一个您可能更喜欢的选项是SQL Server Log Shipping,但使用 Azure Blob 存储帐户作为管道,其好处是将备份发送到 Azure 存储帐户。您需要自己备份到 Azure Blob 存储,然后让辅助服务器从 Azure Blob 存储还原它们,因为 SSMS 上的日志传送向导不支持 Azure Blob 存储(据我所知)。

【讨论】:

以上是关于将本地 SQL Server 数据库同步到 Azure Windows Server SQL Server 的最佳方式是啥的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server Replication—本地发布订阅配置

如何同步/更新从 MS Access 到 SQL Server 的数据库连接

分享Sql Server 2008 r2 数据备份,同步服务器数据(一.本地备份)

等级保护项目SQL?Server审计方案

在两者之间通过 WCF 服务同步 2 个本地 SQL Server 数据库

将 SQL Server CE 数据库与常规 SQL Server 数据库同步