为同步指定调度。
sch=schedule; ...
schedule : { EVERY:hhhh:mm | INFINITE | singleSchedule }
hhhh : 00 ... 9999
mm : 00 ... 59
singleSchedule : day @hh:mm[ AM | PM ] [ -hh:mm[ AM | PM ] ] ,...
hh : 00 ... 24
mm : 00 ... 59
day : EVERYDAY | WEEKDAY | MON | TUE | WED | THU | FRI | SAT | SUN | dayOfMonth
dayOfMonth : 0... 31
EVERY EVERY 关键字会使同步在启动时发生,然后在指定的时间段后无限期重复进行。如果同步过程比指定周期长,则同步立即再次启动。
要避免在 dbmlsync 启动时发生同步,请使用扩展选项 NoSyncOnStartup。请参见NoSyncOnStartup (nss) 扩展选项。
singleSchedule 如果提供一个或多个单独的调度,则同步只在指定的日期和时间发生。
间隔可以指定为 @hh:mm-hh:mm(AM 或 PM 的指定可选)。如果不指定 AM 或 PM,则假定为 24 小时制。24:00 被解释为第二天的 00:00。如果指定间隔,则同步在间隔时间内的随机时间开始。间隔提供了一个同步时间窗口,这样具有相同调度的多个远程数据库不会正好在同一时间同步,从而避免了 MobiLink 服务器上发生拥塞。
间隔的结束时间总是被解释为位于开始时间后。如果时间间隔包含午夜,则它在第二天结束。如果 dbmlsync 在时间间隔的中间启动,则同步在结束时间前的随机时间发生。
EVERYDAY EVERYDAY 指的是一个星期内的所有七天。
WEEKDAY WEEKDAY 指的是从星期一到星期五。
周几指的是周一、周二等等。您还可以使用完整形式的日期,例如 Monday。当您所使用的语言不是英语,不是连接字符串中客户端请求的语言,也不是服务器窗口中出现的语言时,您必须使用完整形式的日期名称。
dayOfMonth 要指定为一个月中的最后一天而不管一个月有多长,请将 dayOfMonth 设置为 0。
INFINITE 关键字 INFINITE 可使 dbmlsync 在启动时同步,然后在将窗口消息发送到 dbmlsync 的另一程序启动同步后再次同步。在等待时,dbmlsync 将定期运行和扫描日志。可以使用 dbmlsync 扩展选项 NoSyncOnStartup 来避免初始同步。
有关详细信息,请参见NoSyncOnStartup (nss) 扩展选项。
此选项可与 dbmlsync -wc 选项结合使用,以唤醒 dbmlsync 并执行同步。
有关详细信息,请参见-wc 选项。
如果在调度时间上一次同步仍未完成,则调度的同步将在上一次同步完成时开始。
缺省情况下,没有调度。
此选项有一个长格式和一个短格式:您可以使用 sch,也可以使用 Schedule。
您还可以在数据库中存储扩展选项。有关 dbmlsync 扩展选项的详细信息,请参见dbmlsync 扩展选项简介。
调度选项语法与同步 SQL 语句和 dbmlsync 命令行中使用的语法相同。
IgnoreScheduling 扩展选项和 -is 选项指示 dbmlsync 忽略调度,从而使同步立即执行。有关详细信息,请参见IgnoreScheduling (isc) 扩展选项。
有关调度的详细信息,请参见调度同步。
以下 dbmlsync 命令行说明在启动 dbmlsync 时如何设置此选项:
dbmlsync -e "sch=WEEKDAY@8:00am,SUN@9:00pm" |
以下 SQL 语句说明如何在数据库中存储此选项:
CREATE SYNCHRONIZATION SUBSCRIPTION TO sales_publication FOR ml_user1 OPTION sch='WEEKDAY@8:00am,SUN@9:00pm'; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |