Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » MobiLink - 客户端管理 » 用于 MobiLink 的 SQL Anywhere 客户端 » SQL Anywhere 客户端的事件挂接

 

sp_hook_dbmlsync_log_rescan

您可以使用此存储过程以编程方式来确定何时需要重新扫描。

#hook_dict 表中各行

名称

说明

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;