我在两个不同的服务器上有数据库。我需要定期从服务器A上的表中检索新记录,并处理它们以便使用它们来更新服务器B上的表(使用不同的模式)。我打算使用触发器,但如果失败,则回滚服务器A上的插入。表A上的插入必须不会失败,因此服务器B的更新需要尽可能地与此解耦。我现在正考虑在服务器B上使用调度的sproc从服务器A检索结果并更新服务器B.这需要每30秒运行一次。这种方法有什么问题,或者是否存在更好或更正确的方法?实现这个目标的方式?
答案 0 :(得分:1)
我认为在SQL Server Agent中创建预定作业是这里的方法。这可以执行一个简单的存储过程(如果逻辑很简单)或SSIS包(它更复杂)。
关于触发器的最后一点说明:如果可能,我总是试图避免使用触发器。他们可能会出现看似无意的事情。或者"神秘的"副作用,它们可能很难调试,开发人员在尝试解决问题时经常会忘记检查触发器。这并不是说他们也不会提供好处 - 但我认为你需要警惕他们。