复制选项是数据库选项,用于对复制行为加以控制。
SET [ TEMPORARY ] OPTION
[ userid. | PUBLIC. ]option_name = [ option_value ]
exec sp_remote_option option-name, option-value
| 参数 | 说明 |
|---|---|
| option_name | 所更改的选项的名称。 |
| option-value | 包含用于该选项的设置的字符串。 |
提供以下选项。
| 选项 | 值 | 缺省值 |
|---|---|---|
| Blob_threshold | 整数,单位为 kb | 256 |
| Compression | –1 到 9 | 6 |
| Delete_old_logs | ON、OFF | OFF |
| External_remote_options | ON、OFF | OFF |
| Qualify_owners | ON、OFF | ON |
| Quote_all_identifiers | ON、OFF | OFF |
| Replication_error | 过程名 | NULL |
| Save_remote_passwords | ON、OFF | 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 的值,分别具有以下含义:
-1 以版本 5 的格式发送消息。来自 SQL Remote 的以前版本的消息代理(dbremote 和 ssremote)无法读取以版本 6 的格式发送的消息。在您的系统中的所有消息代理都升级到版本 6 之前,应该确保将 COMPRESSION 设置为 -1。
0 不压缩。
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 数据库中的设置。
以下语句在 Adaptive Server Anywhere 中为所有用户将 Verify_all_columns 选项设置为 OFF:
SET OPTION PUBLIC.Verify_all_columns = 'OFF'
以下语句在 Adaptive Server Enterprise 中将 Verify_all_columns 选项设置为 OFF:
exec sp_remote_option Verify_all_columns, 'OFF' go
在 Adaptive Server Enterprise 中,复制选项只由 SQL Remote 使用。
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。