使用 SQL Remote,消息总是双向发送。统一数据库将包含发布更新的消息发送到远程数据库,远程数据库也将更新的数据和收到确认消息发送到统一数据库。
在远程数据库用户修改数据时,他们进行的更改也被复制到统一数据库。当在统一数据库上应用这些更改时,这些更改即成为统一数据库发布的一部分,并被包括在发送到所有远程数据库(更新内容所来自的远程数据库除外)的更新中。利用这种方法,通过统一数据库实现远程数据库之间的复制。
例如,如果统一数据库上发布中的数据进行了更新,这些更新会被发送到远程数据库。即使远程数据库上的数据从未更新过,确认消息仍被发送回统一数据库,以跟踪复制的状态。
在每个参与复制的统一数据库和远程数据库上,都有管理复制的消息代理和事务日志。所有已提交的更改都被记录下来,并保存在事务日志中。
统一数据库上的 SQL Remote 消息代理将定期地扫描事务日志,并将所有已提交的对每个发布(数据部分)进行的事务打包成消息。然后,统一数据库的 SQL Remote 消息代理将相关的更改发送到预订这些发布的远程用户。SQL Remote 消息代理使用消息传递系统发送更改。SQL Remote 支持 SMTP 电子邮件系统、FTP 和 FILE。
远程数据库上的 SQL Remote 消息代理接收由统一数据库发来的消息,并向统一数据库发送一个消息已收到的确认。然后,SQL Remote 消息代理将事务应用到远程数据库。
远程用户可随时运行 SQL Remote 消息代理,将在远程数据库上进行的事务打包成消息,然后发回统一数据库。
统一站点上的 SQL Remote 消息代理会处理发自远程数据库的消息,并将事务应用到统一数据库。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |