SQL Server数据库同步架构与本地计算机

时间:2018-01-26 05:55:29

标签: c# sql-server database azure azure-sql-database

我正在开发一个项目,其中有几个终端会不断更新到服务器数据库(云端的主机或其中一个终端)。但是,如果互联网关闭,应用程序不应停止,并且应该在互联网恢复后自动同步(如果可以)同步到服务器数据库。

因此显然,每个终端都需要一个本地数据库来处理互联网故障情况。

在开发的C#WPF应用程序方面的经验,但对数据库应用程序来说是新手。

我的问题是:

  1. 哪种方法具有更好的可靠性?主机在云端还是终端?

  2. 最好在一天结束时执行实时同步或执行同步吗?

  3. SQL Server Express或Azure数据库是否提供自动同步?或者我该如何让它自动同步?

2 个答案:

答案 0 :(得分:1)

在这种情况下,您可以在每个终端上安装SQL Server Express实例,然后使用SQL Data Sync使所有SQL Server Express实例与您将在Azure SQL数据库上创建的中心数据库同步。在"自动同步"上配置SQL数据同步时您可以指定同步发生时的秒数/分钟/小时/天的部分。如果磁盘发生故障或终端崩溃,您同步数据越少,丢失的频率就越高。

要了解有关SQL Data Sync的更多信息,请阅读here

答案 1 :(得分:0)

  1. 创建应用程序并为本地主机创建应用程序数据库连接。

  2. 订阅Azure并创建SQL数据库。

  3. 关注here进行内部部署同步。另外,安装Microsoft Azure Data Sync Agent Preview 2.0或更高版本,下载here

  4. 如果您执行上述操作,则只有Internet可用时,您的应用程序将继续使用本地主机并同步到中心数据库。这称为On-Premise Azure SQL Sync。

相关问题