定期使用另一台服务器的新记录更新 table

Periodically update a table with new records from another server

我在两台不同的服务器上有数据库。我需要定期从服务器 A 上的 table 检索新记录,并处理它们以便使用它们更新服务器 B 上的 table(具有不同的模式)。我打算为此使用触发器,但如果失败,服务器 A 上的插入将回滚。 table A 上的插入不能失败,因此服务器 B 的更新需要尽可能与此解耦。我现在正在考虑在服务器 B 上使用计划存储过程从服务器 A 检索结果并更新服务器 B。这需要每 30 秒 运行。这种方法有什么问题吗,或者是否有更好或更多的 'correct' 方法来实现这一点?

我认为在 SQL Server Agent 中创建计划作业是解决此问题的方法。这可以执行一个简单的存储过程(如果逻辑非常简单)或一个 SSIS 包(如果它更复杂)。

关于触发器的最后一点说明:如果可能的话,我一直试图避免使用触发器。它们可能会产生 "unintended" 或 "mysterious" 副作用,它们可能难以调试,开发人员在尝试解决问题时常常会忘记检查触发器。这并不是说他们也不提供福利 - 但我认为你需要警惕他们。