从版本 12.0.0 开始,新功能大大简化了对远程数据库执行模式更改的过程。要使用此功能,您必须停止使用 dbmlsync ScriptVersion 扩展选项。相反,您应使用已添加到 CREATE SYNCHRONIZATION SUBSCRIPTION 和 ALTER SYNCHRONIZATION SUBSCRIPTION 语句中的新子句直接将脚本版本与同步预订相关联。
使用新语法时,将在事务发生时使用与预订相关联的脚本版本来上载每个数据库事务。这样即可在不进行同步的情况下执行需要脚本版本更改的模式更改。
如果使用旧版的 ScriptVersion 扩展选项,则会在同步时将脚本版本与事务相关联。因此,您必须先执行同步,然后才能进行模式更改。
出于模式更改以外的其它一些原因,几个现有同步系统取决于更改两次同步之间的预订所使用的脚本版本。可能无法通过更新这些系统来使用新功能。
今后,建议您在创建同步预订时始终指定 SCRIPT VERSION 子句。您可以按照以下说明升级现有预订。
如果您拥有一个使用 dbmlsync ScriptVersion 扩展选项进行同步的、名为 my_sub 的现有预订,则可以按照以下步骤直接将脚本版本与预订相关联。
确定当前用于同步 my_sub 的脚本版本。实现此目的的最简单方法如下:
将 -v+ 选项添加到现有 dbmlsync 命令行,然后进行同步。
在 dbmlsync 输出文件中搜索用来标识所用脚本版本的行。搜索与以下代码类似的内容:
Script version: my_script_ver_1 |
将当前脚本版本与预订相关联:
ALTER SYNCHRONIZATION SUBSCRIPTION <sub_name> SET SCRIPT VERSION = <ver> |
其中,<sub_name> 是预订的名称,在这种情况下,my_sub 和 <ver> 是当前脚本版本,这是在第 1 步中确定的。
在此刻之后发生的所有事务都与脚本版本相关联。
对上次使用旧选项同步的预订进行同步。这样可确保使用正确的脚本版本来上载在完成第二步之前发生的所有事务。
无论何时为此预订指定 ScriptVersion 扩展选项,都删除该选项。该扩展选项可以在 dbmlsync 命令行上或同步配置文件中指定,或者与远程数据库中的预订、发布或 MobiLink 用户相关联。
对于包含多个预订的数据库,请针对每个预订重复执行之前的步骤。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |