Collection Contents 上一页 下一页 PDF

SQL Remote 用户指南

实用程序和选项参考

SQL Remote 选项


功能 

复制选项是数据库选项,用于对复制行为加以控制。

Adaptive Server Anywhere 语法 

SET [ TEMPORARY ] OPTION
userid. | PUBLIC. ]option_name = [ option_value ]

Adaptive Server Enterprise 语法: 

exec sp_remote_option option-nameoption-value

参数 
参数 说明
option_name 所更改的选项的名称。
option-value 包含用于该选项的设置的字符串。
说明 

提供以下选项。

选项 缺省值
Blob_threshold 整数,单位为 kb 256
Compression –1 9 6
Delete_old_logs ONOFF OFF
External_remote_options ONOFF OFF
Qualify_owners ONOFF ON
Quote_all_identifiers ONOFF OFF
Replication_error 过程名 NULL
Save_remote_passwords ONOFF ON
SR_Date_Format 日期字符串 yyyy/mm/dd
SR_Time_Format 时间字符串 hh:nn:ss.Ssssss
SR_Timestamp_Format 时间戳字符串 yyyy/mm/dd hh:nn:ss.Ssssss
Subscribe_by_remote ON、OFF ON
Verify_threshold integer 256
Verify_all_columns ON、OFF OFF

这些选项由消息代理使用,并且应设置这些选项以用于在消息代理命令中指定的用户 ID。还可以设置它们以用于常规公共用途。

如下所示为这些选项:

Blob_threshold 选项    长于 Blob_threshold 选项的任何值都被复制为 blob。也就是说,将其拆分为片段,并按块复制,然后在接收站点上使用 SQL 变量连接这些片段以恢复其值。

如果您在 Adaptive Server Enterprise 的安装中复制 blob,则必须确保将 Blob_threshold 设置为大于所复制的最大 blob 的值。

有关 blob 复制和 Adaptive Server Enterprise 的信息,请参见 Blob 的复制

压缩选项    设置消息的压缩级别。压缩级别可为从 -1 到 9 的值,分别具有以下含义:

Delete_old_logs 选项    此选项由 SQL Remote 和 Adaptive Server Anywhere 复制代理使用。缺省设置为 OFF。如果将该选项设置为 ON,则消息代理 (DBREMOTE) 在其包含的所有更改都已发送并确认接收后,删除每一个旧事务日志。

External_remote_options    此选项由 SQL Remote 使用,用来指示消息链接参数应存储在数据库中 (OFF),还是应外部存储 (ON)。缺省情况下,该设置为 OFF。

Qualify_owners 选项    控制由 SQL Remote 复制的 SQL 语句是否应使用限定的对象名。Adaptive Server Anywhere 中的缺省值为 ON,Adaptive Server Enterprise 中的缺省值为 OFF。

很少需要在 Adaptive Server Enterprise 设置中限定所有者,因为对象通常归 dbo 所有。如果在 Adaptive Server Anywhere 设置中不需要限定,则与将选项设置为 OFF 相比,消息可能会稍小。

Quote_all_identifiers 选项    控制 SQL Remote 所复制的 SQL 语句是否应使用引号引用的标识符。缺省值是 OFF。

如果将该选项设置为 OFF,则 dbremote 用引号引用由 Adaptive Server Anywhere 要求引用的标识符(它始终这样要求),而 ssremote 不用引号引用任何标识符。如果将该选项设置为 ON,则总是给标识符加上引号。

Replication_error 选项     指定发生 SQL 错误时由消息代理调用的存储过程。缺省情况下,不调用任何存储过程。

复制错误过程必须有类型为 CHAR、VARCHAR 或 LONG VARCHAR 的一个参数。该过程会以 SQL 错误消息为参数调用一次,再以导致该错误的 SQL 语句为参数调用一次。

尽管该选项允许您在复制过程中跟踪和监视 SQL 错误,但您仍必须在设置之外对它们进行设计:该选项并不是用于解决此类错误的。

您可以将一个表与 DEFAULT CURRENT REMOTE USER 一起使用,以记录导致该错误的远程站点。

Save_remote_passwords 选项    在第一次连接时将口令输入消息链接对话框后,这些参数值被保存下来。缺省情况下,Save_remote_passwords 设置为 ON 并且保存口令。如果您从外部存储消息链接参数,而不是将它们存储在数据库中,则最好不要保存这些口令。您可以通过将该选项设置为 OFF,避免保存口令。

SR_Date_Format 选项    消息代理在复制存储日期的列时使用此选项。该选项是根据以下符号生成的字符串:

符号 说明
yy 两位年份
yyyy 四位年份
mm 两位月份
mmm 用于月份的字符格式
dd 两位日期

每一符号都由所复制的日期替代。

如果以大写形式设置 mm 格式符号,则相应的字符也是大写的。

对于数字格式,该选项设置的大小写将控制填充方式。如果符号为相同的大小写(例如 DD),则数字用 0 填充。如果符号是混合大小写(例如 Mm),则数字不用 0 填充。

SR_Time_Format 选项    消息代理在复制存储时间的列时使用此选项。该选项是根据以下符号生成的字符串:

符号 说明
hh 两位小时(24 小时时钟)
nn 两位分钟
mm 两位分钟(如果跟着冒号,如 hh:mm)
ss[.s...] 两位秒数加上可选的分秒。

在格式字符串中使用混合大小写将禁止使用前导零。

SR_Timestamp_Format    消息代理使用此选项复制日期时间信息。对于 Adaptive Server Anywhere,日期时间信息为时间戳、日期时间和小日期时间数据类型。对于 Adaptive Server Enterprise,日期时间信息为日期时间和小日期时间数据类型。

此类格式字符串取自 SR_Date_Format 和 SR_Time_Format 设置。

缺省设置是 SR_Date_Format 设置,后随 SR_Time_Format 设置。

Subscribe_by_remote 选项     如果该选项设置为 ON,则来自远程数据库对行的操作(其 SUBSCRIBE BY 值为 NULL 或空字符串)假定远程用户预订了该行。如果该选项设置为 OFF,则假定远程用户没有预订该行。

此选项的唯一限制是:如果远程用户实际想要使用 NULL(空)或空预订表达式 INSERT(插入)或 UPDATE(更新)一行(用于只在统一数据库保存的信息),则可能导致错误发生。这确实容易混淆,但可以通过在属于非远程用户的安装中分配预订值来避开这一情况。

有关此选项的详细信息,请参见对多对多关系使用 Subscribe_by_remote 选项对多对多关系使用 Subscribe_by_remote 选项

Verify_threshold 选项    如果列的数据类型超过阈值,则在复制 UPDATE 时不验证旧的列值。缺省设置是 1000。

该选项可以使 SQL Remote 消息的小一些,它的不足之处是不检测长值更新的冲突。

Verify_all_columns 选项    缺省设置为 OFF。如果将该选项设置为 ON,则包含本地数据库发布的更新的消息将把所有列值一起发送,并且任何列中的冲突都将在预订者数据库触发 RESOLVE UPDATE 触发器。

用于 Adaptive Server Enterprise 的抽取实用程序在远程 Adaptive Server Anywhere 数据库中设置公共选项,以匹配 Adaptive Server Enterprise 数据库中的设置。

示例 

Collection Contents 上一页 下一页 PDF