我们有两台服务器,一台非常慢,地理位置很远。设置分布式查询是一个令人头疼的问题,因为它并不总是有效(有时我们收到The semaphore timeout period has expired
),如果查询有效,它可能会很慢。
一种解决方案是设置一个作业,使用我们需要的数据填充慢速服务器上的临时表,然后将INSERT, UPDATE and DELETE
语句从临时表写入我们的服务器表,以便我们在更快的服务器上更新数据。这项工作大约需要一个工作时间和30秒,并且设置为每2分钟运行一次。这是不好的做法,它会损害我们较慢的SQL Server框吗?
EDIT 事务发生在慢速服务器代理(作业正在运行的地方)上,并使用分布式查询来连接和更新我们的快速服务器。如果作业在快速服务器上运行,我们会偶尔得到超时错误
至于细节,如果记录存在于更快的服务器上,我们执行更新,如果它不存在,我们插入,如果慢速服务器上的记录不再存在,我们删除...我可以发布代码去电脑