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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 系统对象 » 系统过程 » 按字母顺排序的系统过程列表

 

sa_server_option 系统过程

当服务器正在运行时替换服务器选项。

语法
sa_server_option( 
opt, 
val 
)
参数
  • opt   使用此 CHAR(128) 参数指定服务器选项名称。

  • val   使用此 CHAR(128) 参数为服务器选项指定新值。

注释

使用此过程,数据库管理员可以临时替换某些数据库服务器选项,而不需要重新启动数据库服务器。

当服务器关闭时,使用此存储过程更改的选项值将重置为其缺省值。如果想在服务器每次启动时都更改选项值,则可以在数据库服务器启动时指定相应的数据库服务器选项(如果存在),下表中最右侧的列给出了这些选项。

以下选项设置可以更改:

选项名称 缺省值 服务器选项
CacheSizingStatistics YES、NO NO -cs 服务器选项
CollectStatistics YES、NO YES -k 服务器选项
ConnsDisabled YES、NO NO
ConnsDisabledForDB YES、NO NO
ConsoleLogFile filename -o 服务器选项
ConsoleLogMaxSize file-size(以字节为单位) -on 服务器选项
DatabaseCleaner ON、OFF ON
DebuggingInformation YES、NO NO -z 服务器选项
IdleTimeout INTEGER(以分钟为单位) 240 -ti 服务器选项
LivenessTimeout INTEGER(以秒为单位) 120 -tl 服务器选项
MessageCategoryLimit INTEGER 400
OptionWatchAction MESSAGE、ERROR MESSAGE 监控选项设置
OptionWatchList 以逗号分隔的数据库选项列表 监控选项设置
ProcedureProfiling YES、NO、RESET、CLEAR NO
ProfileFilterConn connection-id
ProfileFilterUser user-id
QuittingTime 有效的日期和时间 -tq 服务器选项
RememberLastPlan YES、NO NO -zp 服务器选项
RememberLastStatement YES、NO NO -zl 服务器选项
RequestFilterConn connection-id, -1
RequestFilterDB database-id, -1
RequestLogFile filename -zo 服务器选项
RequestLogging

SQL、HOSTVARS、PLAN、PROCEDURES、TRIGGERS、OTHER、BLOCKS、REPLACE、ALL、YES、NONE、NO

NONE -zr 服务器选项
RequestLogMaxSize file-size(以字节为单位) -zs 服务器选项
RequestLogNumFiles INTEGER -zn 服务器选项
RequestTiming YES、NO NO -zt 服务器选项
SecureFeatures feature-list -sf 服务器选项
WebClientLogFile filename -zoc 服务器选项
WebClientLogging ON、OFF OFF
  • CacheSizingStatistics   当设置为 YES 时,每当高速缓存大小发生变化时,数据库服务器消息窗口中就会显示高速缓存信息。请参见-cs 服务器选项

  • CollectStatistics   当设置为 YES 时,数据库服务器搜集性能监控器统计信息。请参见-k 服务器选项

  • ConnsDisabled   当设置为 YES 时,不允许与数据库服务器上的任何数据库建立任何其它连接。

  • ConnsDisabledForDB   当设置为 YES 时,不允许与当前数据库建立任何其它连接。

  • ConsoleLogFile   用来记录数据库服务器消息日志信息的文件的名称。指定一个空字符串会停止将信息记录到文件。路径中的任何反斜线字符必须写两遍,因为这是 SQL 字符串。请参见-o 服务器选项

  • ConsoleLogMaxSize   用来记录数据库服务器消息日志信息的文件的最大大小(以字节为单位)。当数据库服务器消息日志文件达到该属性或 -on 服务器选项指定的大小后,通过附加的扩展名 .old,该文件被重命名(如果已经存在具有相同名称的文件,则将其替换)。然后,该数据库服务器消息日志文件被重新启动。请参见-on 服务器选项

  • DatabaseCleaner   除非有 iAnywhere 技术支持的建议,否则不要更改此选项的设置。另请参见sa_clean_database 系统过程

  • DebuggingInformation   显示诊断消息和其它消息以用于疑难解答。消息显示在数据库服务器消息窗口中。请参见-z 服务器选项

  • IdleTimeout   断开未在指定分钟内提交请求的 TCP/IP 连接。这可防止不活动的连接无限期地保持锁定。请参见-ti 服务器选项

  • LivenessTimeout   定期通过客户端/服务器 TCP/IP 网络发送活动包,用以确认连接的完整性。如果网络服务器运行了一个 LivenessTimeout 周期但没有检测到活动包,则切断通信。请参见-tl 服务器选项

  • MessageCategoryLimit   设置可使用 sa_server_messages 系统过程检索的各个严重级和类别的最小消息数。请参见sa_server_messages 系统过程

  • OptionWatchAction   指定数据库服务器在尝试设置列表中的选项时应采取的操作。支持的值为 MESSAGE 和 ERROR。当 OptionWatchAction 设置为 MESSAGE,并且设置了一个由 OptionWatchList 指定的选项时,数据库服务器消息窗口中将出现一条消息,指示正在设置的选项位于选项监视项目列表中。

    当 OptionWatchAction 设置为 ERROR 时,将返回错误,指示无法设置选项,因为该选项在选项监视项目列表中。

    可以通过执行以下的查询来查看此属性的当前设置:

    SELECT DB_PROPERTY( 'OptionWatchAction' );

  • OptionWatchList   指定一个以逗号分隔的数据库选项列表,在设置其中的选项时数据库服务器会向您发出通知,或返回错误。字符串的长度不应超过 128 个字节。缺省情况下它是一个空字符串。例如,以下命令将 automatic_timestamp、float_as_double 和 tsql_hex_constant 选项添加到监视选项列表中。
    CALL dbo.sa_server_option( 'OptionWatchList','automatic_timestamp,
                                          float_as_double,tsql_hex_constant' )

    可以通过执行以下的查询来查看此属性的当前设置:

    SELECT DB_PROPERTY( 'OptionWatchList' );

  • ProcedureProfiling   控制存储过程、函数、事件和触发器的过程分析。过程分析向您显示存储过程、函数、事件和触发器的执行时间。还可以在 Sybase Central 的 [数据库属性] 窗口中设置过程分析选项。

    • YES   对您当前连接到的数据库启用过程分析。

    • NO   禁用过程分析,但使分析数据可供查看。

    • RESET   将分析计数器恢复到零,并且不改变 YES 或 NO 设置。

    • CLEAR   将分析计数器恢复到零,并且禁用过程分析。

      启用了分析后,可以使用 sa_procedure_profile_summary 和 sa_procedure_profile 系统过程从数据库中检索分析信息。请参见使用系统过程进行过程分析

  • ProfileFilterConn   指示数据库服务器捕获指定连接 ID 的分析信息,而不阻止其它连接使用该数据库。启用连接过滤后,SELECT PROPERTY( 'ProfileFilterConn' ) 返回的值是被监控连接的连接 ID。如果未指定 ID 或禁用连接过滤,则返回的值为 -1。

  • ProfileFilterUser   指示数据库服务器捕获特定用户 ID 的分析信息。

  • QuittingTime   指示数据库服务器在指定的时间关闭。请参见-tq 服务器选项

  • RememberLastPlan   指示数据库服务器捕获在连接上执行的最后一个查询的详细文本计划。此设置还由 -zp 服务器选项控制。请参见-zp 服务器选项

    当启用了 RememberLastPlan 时,可以通过查询 LastPlanText 连接属性的值来获取在连接上执行的最后一个查询计划的文本表示。

    SELECT CONNECTION_PROPERTY( 'LastPlanText' );

  • RememberLastStatement   指示数据库服务器为在服务器上运行的每个数据库捕获最近预准备 SQL 语句。对于存储过程调用,仅显示最外面的过程调用,不显示过程中的语句。

    当 RememberLastStatement 启用时,可以通过查询 LastStatement 连接属性的值来为连接获取 LastStatement 的当前值:

    SELECT CONNECTION_PROPERTY( 'LastStatement' );

    如果启用客户端语句高速缓存并且重用了某个高速缓存的语句,则此属性返回空字符串。

    有关详细信息,请参见数据库服务器属性-zl 服务器选项

    当 RememberLastStatement 打开时,下面的语句为指定连接返回最近预准备语句:

    SELECT CONNECTION_PROPERTY( 'LastStatement', connection-id );

    sa_conn_activity 系统过程为所有连接都返回此相同的信息。

    小心

    当指定 -zl 或启用 RememberLastStatement 服务器设置时,任何用户都可以调用 sa_conn_activity 系统过程或获取 LastStatement 连接属性的值,以找到为任何其他用户最新准备的 SQL 语句。应慎用此选项,并在不需要时将其关闭。

  • RequestFilterConn   对请求记录信息进行过滤以便只记录特定连接的信息。在对具有多个活动连接或多个数据库的数据库服务器进行监控时,这有助于减小请求日志文件的大小。可通过执行以下语句来获得连接 ID:
    CALL sa_conn_info( );

    一旦获得了连接 ID 后,即可执行以下语句来指定要记录日志信息的特定连接:

    CALL sa_server_option( 'RequestFilterConn', connection-id );

    在显式地重置过滤或关闭数据库服务器之前,过滤将一直有效。要重置过滤,请使用以下语句:

    CALL sa_server_option( 'RequestFilterConn', -1 );

  • RequestFilterDB   对请求记录信息进行过滤以便只记录特定数据库的信息。在对具有多个数据库的服务器进行监控时,这有助于减小请求日志文件的大小。在连接到所需的数据库后,可通过执行以下语句来获得数据库 ID:
    SELECT CONNECTION_PROPERTY( 'DBNumber' );

    要指定仅记录特定数据库的信息,请执行以下语句:

    CALL sa_server_option( 'RequestFilterDB', database-id );

    在显式地重置过滤或关闭数据库服务器之前,过滤将一直有效。要重置过滤,请使用以下语句:

    CALL sa_server_option( 'RequestFilterDB', -1 );

  • RequestLogFile   用来记录请求信息的文件的名称。指定一个空字符串会停止将请求信息记录到请求日志文件。如果启用请求记录,但请求日志文件未指定或设置为空字符串,则服务器会将请求记录到数据库服务器消息窗口中。路径中的任何反斜线字符必须写两遍,因为这是 SQL 字符串。请参见-zo 服务器选项

  • RequestLogging   此调用启用对发送到数据库服务器的各 SQL 语句的记录,以便用于疑难解答,此选项设置同数据库服务器选项 -zr 和 -zo 一起使用。值可以是以下项的组合,这些项由加号 (+) 或逗号分隔:

    • PLAN   启用执行计划的记录(简单形式)。如果启用过程 (PROCEDURES) 的记录,还将记录过程的执行计划。

    • HOSTVARS   启用主机变量值的记录。如果指定 HOSTVARS,还将记录针对 SQL 列出的信息。

    • PROCEDURES   启用从过程中执行的语句的记录。

    • TRIGGERS   启用从触发器中执行的语句的记录。

    • OTHER   启用 SQL 不包含的其它请求类型(如 FETCH 和 PREFETCH)的记录。然而,如果您指定 OTHER 但未指定 SQL,则其等效于指定 SQL+OTHER。包括 OTHER 可导致日志文件迅速增大,并可能对服务器性能造成负面影响。

    • BLOCKS   启用显示何时在另一个连接上阻塞和解除阻塞某个连接的详细信息的记录。

    • REPLACE   在记录开始时,使用同名的新(空)请求日志来替换现有的请求日志。否则,将打开现有的请求日志,并将新条目附加到文件的结尾。

    • ALL   记录所有支持的信息。这等效于指定 SQL+PLAN+HOSTVARS+PROCEDURES+TRIGGERS+OTHER+BLOCKS。此设置可导致日志文件迅速增大,会对服务器的性能产生负面影响。

    • NO 或 NONE   禁用记录请求日志。

    可以通过执行以下的查询来查看此属性的当前设置:

    SELECT PROPERTY( 'RequestLogging' );

    有关详细信息,请参见-zr 服务器选项数据库服务器属性

  • RequestLogMaxSize   用来记录请求记录信息的文件的最大大小(以字节为单位)。如果指定为 0,则对请求记录文件而言没有最大大小,且该文件也决不会被重命名。这是缺省值。

    当请求日志文件达到 sa_server_option 系统过程或 -zs 服务器选项指定的大小后,会用附加的扩展名 .old 对该文件进行重命名(如果已经存在这样一个文件,则用相同名称替换现有的文件)。然后,重新启动请求日志文件。请参见-zs 服务器选项

  • RequestLogNumFiles   要保留的请求日志文件副本的数目。

    如果在较长一段时间内启用了请求记录,则请求日志文件可能会变得很大。-zn 允许您指定要保留的请求日志文件副本的数量。请参见-zn 服务器选项

  • RequestTiming   指示数据库服务器维护每个连接的计时信息。缺省情况下,此功能关闭。此功能打开时,数据库服务器会为每个连接维护累计计时器,该计时器表明连接在服务器的各个状态中所花费的具体时间。可以使用 sa_performance_diagnostics 系统过程来获得此计时信息的汇总,或者通过检查以下连接属性来检索各个值:

    • ReqCountUnscheduled
    • ReqTimeUnscheduled
    • ReqCountActive
    • ReqTimeActive
    • ReqCountBlockIO
    • ReqTimeBlockIO
    • ReqCountBlockLock
    • ReqTimeBlockLock
    • ReqCountBlockContention
    • ReqTimeBlockContention

    请参见连接属性

    当 RequestTiming 服务器属性设置为 on 时,为每个请求维护附加计数器会产生少量开销。请参见-zt 服务器选项sa_performance_diagnostics 系统过程

  • SecureFeatures   用于启用或禁用正在运行的数据库的安全功能。feature-list 是以逗号分隔的功能名称或功能集的列表。通过将其添加到安全功能列表,您可以保护(阻止)某些功能。要从安全功能列表中删除项目,请在安全功能名称前指定一个减号 (-)。有关有效 feature-list 值的列表,请参见-sf 服务器选项

    为启用或禁用功能而进行的任何更改都会立即对连接生效。这些设置不影响执行 sa_server_option 系统过程的连接;必须断开并重新连接才能使设置生效。

    注意

    要使用 sa_server_option 系统过程启用或禁用功能,必须在启动数据库服务器时使用 -sk 选项指定一个密钥,然后将 secure_feature_key 数据库选项的值设置为 -sk 所指定的密钥(例如,SET TEMPORARY OPTION secure_feature_key = 'j978kls12')。将 secure_feature_key 数据库选项设置为 -sk 值使您可以更改安全功能的设置。请参见-sk 服务器选项secure_feature_key [数据库]

    例如,要禁用两个功能并启用第三个功能,应使用以下语法:

    CALL sa_server_option('SecureFeatures', 'CONSOLE_LOG,WEBCLIENT_LOG,-REQUEST_LOG' );

    执行了该语句后,CONSOLE_LOG 和 WEBCLIENT_LOG 被添加到安全功能列表中,而 REQUEST_LOG 将从列表中删除。

  • WebClientLogFile   Web 服务客户端日志文件的名称。每次使用 -zoc 服务器选项或 WebClientLogFile 属性设置或重置文件名时,Web 服务客户端日志文件都将被截断。路径中的任何反斜线字符都必须双写,因为这是字符串。请参见-zoc 服务器选项

  • WebClientLogging   此选项可启用或禁用对 Web 服务客户端的记录。记录的信息包括 HTTP 请求和响应数据。指定 ON 将开始向 Web 服务客户端日志文件写入记录,而指定 OFF 可停止向该文件写入记录。请参见-zoc 服务器选项

权限

以下选项与应用程序分析或请求记录有关,需要具有 DBA 或 PROFILE 权限:

所有其它选项都要求具有 DBA 权限。

副作用

示例

以下语句禁止与数据库服务器建立新连接:

CALL sa_server_option( 'ConnsDisabled', 'YES' );

以下语句禁止与当前数据库建立新连接:

CALL sa_server_option( 'ConnsDisabledForDB', 'YES' );

以下语句启用所有 SQL 语句、过程调用、计划、阻塞和取消阻塞事件的记录,并指定要启动一个新请求日志:

CALL dbo.sa_server_option( 'RequestLogging', 'SQL+PROCEDURES+BLOCKS+PLAN+REPLACE' );