sql-server – SQL Server – 监视链接服务器上的更改

我们有一个本地SQL Server数据库,我们可以完全控制,在这个本地服务器中,我们链接一个远程SQL Server数据库,我们只有读访问权限(没有架构更改,没有创建触发器,存储过程,视图,等等.).我不确定我们是否能够在远程服务器上启用分布式事务,但我可以检查这是否重要.

第三方对远程服务器表应用插入/更新/删除,我们想知道远程服务器中的某些内容何时发生变化(理想情况下是实时的,但轮询可能就足够了),因此我们可以重新处理一些数据.本地服务器.

实现这一目标的主要选择是什么?如果可能的话,我们更喜欢轻量级的解决方案(即不是SSIS – 因为我们都没有真正使用过SSIS).

最佳答案
您是否希望在本地同步数据?理想情况下,您可以通过源的某种形式的复制来实现此目的.

如果您拥有所有表的本地副本,则可以创建脚本或存储过程,以通过与数据副本进行比较来检查已删除,插入或更新的记录.这必须在逐个表格的基础上完成.如果有数百个表,那么这种方法可能不可行.

如果表格行上有某种时间戳,它会有所帮助.这将有助于确定何时发生更新.插入和删除更容易,因为您只查找源位置但不存在于目标位置的记录,反之亦然.

安排脚本通过SQL代理以定义的时间间隔运行.

转载注明原文:sql-server – SQL Server – 监视链接服务器上的更改 - 代码日志