我有一个远程Postgresql数据库与一个表(我不能改变),包含信息(只有几列不是整个表)我想同步到本地SQL Server 2008 Express数据库与表(我可以改变)。使用C#同步两个表在不同的数据库
现在我正在寻找一种有效的方法来做到这一点。由于同步每运行约5分钟,每次重新加载整个表都会产生很多不必要的流量,我试图避免。
我想过保存最新的ID,只是抓住所有更新的东西,但是有可能(不太可能,但仍有可能)旧数据被改变。就这样,我会错过修改后的数据。
同步将由与本地SQL Server在同一台机器上运行的C#程序完成。
SQL 2008 Express是否带有SQL Server代理?如果是这样的话,你可以把它写成一个预定的作业,这将消除对c#应用程序的需求。此外,表中有多少行,因为它可能不是那么多的流量。被更改的数据需要可见,并且没有包含修改日期,哈希码等的数据的某种标记,这将是困难的。不确定SQL复制是否适用于不同的数据库提供者,但是如果它是另一种可以最小化流量的选项 – Charleh
否Postgresql DB中的“LastModifiedTime”和“InsertTime”列? –
不幸的是,Postgresql表没有日期/修改列,我不能添加它们:(据我所知,SQL复制只适用于SQL Server之间。此时表约有100k行 –