外部客户网络中有mssql表。目的是在本地服务器中创建并反映相同的表。当然,外部mssql表可以每小时更改一次(数据),以某种方式我必须检查更改并反映在添加/删除或更新新行时本地表中的更改。有什么有效的方法吗?另外,我知道该表将具有成千上万的记录。首先,我考虑过一些Windows服务应用程序,但不知道该怎么做,我不认为关于这么多记录的数据表/数据集还可以,因为我记得过去的内存异常。有什么想法吗?
答案 0 :(得分:1)
我要解决的方法是在现有表上创建触发器,这些触发器在插入,更新和删除后将插入到新的同步表(或每个现有表的同步表)中,该表将标记更改等待同步。您的C#代码将按计划从该表中读取,将更改应用于本地数据库并从“待处理”表中删除行。
例如,这就是Azure SQL数据同步的工作方式;它会在源表中为每个现有表创建一个表,然后检查所有这些表。我认为,取决于您有多少张表以及结构等,您可以只在一个表中编写类似JSON的内容,并且检查一个表要比检查一个表容易得多(显然,这取决于我们有多少个实际表)在谈论)。