分类: Sybase
2008-04-11 13:11:12
来源:赛迪网 作者:Sybase |
如果您想要将 SQL Remote 用于 Adaptive Server Enterprise 数据库之间的复制,而不是使用 Adaptive Server Anywhere 远程数据库,则应了解以下限制:
数据库抽取
抽取实用程序创建 RELOAD.SQL 脚本和数据文件,
用于建立Adaptive Server Anywhere远程数据库。设置远程 ASE 数据库要求由客户创建的抽取进程。
参照完整性错误
在 Adaptive Server Enterprise 中始终立即检查参照完整性,而 Adaptive Server Anywhere 提供WAIT_FOR_COMMIT 选项来控制何时检查参照完整性。当多行在远程数据库间移动时 (如在地域中重新排列时),上述检查有一定的难度。
例如,假设 Order 表具有指向 Customer 表的外键,而 Customer表具有指向 SalesRep 表的外键。该 Customer 表是根据销售代表预订的。 Order 表也是根据销售代表预订的(它具有触发器所维护的冗余列)。
在更新 Customer 中的行以指向新销售代表时,触发器将触发以更新 Order 中的销售代表列。对 Customer 的更新被复制为删除旧销售代表和插入新销售代表。同样,对 Order 触发的更新被复制为删除旧销售代表和插入新销售代表。
出现该问题的原因在于, SQL Remote 以操作发生的顺序复制操作,这意味着 Customer 行在 Order 行之前被删除。这会导致参照完整性错误。
模式升级
在统一数据库和远程数据库均为 Adaptive Server Enterprise 数据库时,很难管理模式升级。很难执行直通到远程Adaptive Server Enterprise 数据库。
该问题产生的原因在于,需要将安静系统用于模式升级。
直通将模式升级语句放置到标准消息流中。在进行模式更改前,可能不可以将模式升级前的操作 (在同一消息或之前的消息中)从事务日志扫描到稳定队列中。
同步预订
对于 Adaptive Server Enterprise 远程数据库,没有实现同步预订。 |