您可以使用此存储过程以编程方式来确定何时需要重新扫描。
名称 |
值 |
说明 |
---|---|---|
publication_n (in) |
发布 |
正被同步的发布,其中 n 是一个整数。每个正在上载的发布都有一个 publication_n 条目。n 的编号从零开始。 |
MobiLink user (in) |
MobiLink 用户名 |
您正在为其进行同步的 MobiLink 用户。 |
discarded storage (in) |
数字 |
最后一次同步后放弃的内存的字节数。 |
rescan (in|out) |
true | false |
如果被挂接设置为 True,dbmlsync 会在下次同步前执行完整的重新扫描。开始时,此值被设置为 False。 |
script version (in) |
脚本版本名称 |
将用于同步的 MobiLink 脚本版本。 |
如果在命令行中指定了多个 -n 选项,dbmlsync 可能会遇到碎片,而碎片会形成被放弃的内存。可以通过重新扫描数据库事务日志来恢复放弃的内存。使用此挂接可以决定 dbmlsync 是否应重新扫描数据库事务日志以恢复内存。
如果未遇到将强制重新扫描的其它情况,则在 sp_hook_dbmlsync_process_exit_code 挂接后立即调用此挂接。
下面的示例在放弃的存储大于 1000 字节时将 #hook_dict 表中的 rescan 字段设置为 TRUE。
CREATE PROCEDURE sp_hook_dbmlsync_log_rescan () BEGIN IF EXISTS(SELECT * FROM #hook_dict WHERE name = 'Discarded storage' AND value>1000) THEN UPDATE #hook_dict SET value ='true' WHERE name='Rescan'; END IF; END; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |