我在不同位置有三个数据库。这些数据库之一是中央数据库。我想将中央数据库与其他两个数据库同步。
要达到目标,请遵循当前的实现和问题:
我尝试了镜像,但是中央数据库无法读取或写入。
我编写了一个连接服务器的C#桌面应用程序。该应用程序还逐行读取表并将其插入(或更新)到中央数据库。但是,SQL Server CPU使用率很高。
对于当前的困难,需要解决以下问题:
答案 0 :(得分:0)
此问题未引用到C#。
在数据库中,我们有一些同步数据的机制。 您需要哪种类型的同步?
如果要将数据从一台服务器复制到另一台服务器(例如,对于Dev \ Stg环境),则可以使用增量备份并设置一些powershell脚本来每天执行一次。
如果要保留备用数据库以提高可用性,则可以使用镜像。
在另一种情况下,您可以使用数据库引用并在SQL上写入作业,这将同步数据。
答案 1 :(得分:0)
几个月前,我进行了搜索,发现了一些有关如何在SQL Server中同步多个数据库的信息。下面我提到了其中一些。
答案 2 :(得分:0)
SymmetricDS可用于将远程MSSQL数据库复制到单个中央数据库中。
您可以将其设置为多租户,以便将每个远程数据库加载到中央的专用数据库中,也可以在中央表中添加一列以指示位置ID。
在SymmetricDS中,可以在从位置复制到中心的同时配置转换,以动态提供位置ID作为复制的一部分。如果您还需要从中心复制到位置,SymmetricDS中的列匹配路由器将检查位置列的每个更改行,并将其仅发送到适当的目标。