我只是想通过一个我需要的过程来思考:
这个想法是可以让网络服务器数据库做它做的事情,并且只有当插入新的订单记录(实际更新......故事的另一部分)时,我希望将该行插入到订单表中在另一台服务器上......
这两个服务器确实有本地IP地址,并且基本上位于同一个子网上 - 即可以轻松地进行通信......
只是试着找出一个SQL Trigger是要走的路,或者我在第二台服务器上有一个预定的工作,查询第一台服务器说每隔5分钟(充足,没有太多订单)并插入任何新订单进入它自己的数据库..想法是源/第一个服务器中的表有一个位字段,以指示该行是否已被服务器2看到/读取...
有什么想法吗?不幸的是,现阶段所有SQL 2008 R2都表达了......
答案 0 :(得分:3)
您不希望触发器作为事务的一部分访问另一台服务器。一种解决方案是使用Service Broker;让触发器将消息插入本地队列,并让其他服务器访问此队列。
SQL Server Service Broker提供 SQL Server数据库引擎原生 支持消息传递和排队 应用。这使得它更容易 开发人员创造复杂 使用数据库的应用程序 引擎组件进行通信 不同的数据库之间。 开发人员可以使用Service Broker 轻松构建分布式且可靠 应用
答案 1 :(得分:0)
您需要先阅读链接服务器。对于你来说,这应该是great article。更好的是,它描述的场景实际上与你的场景非常相似。此外,两个服务器之间的复制可能是比触发器更好的选择。这是link for an article正在做的事情。