当服务器正在运行时替换服务器选项。
sa_server_option( opt, val )
opt 使用此 CHAR(128) 参数指定服务器选项名称。
val 使用此 CHAR(128) 参数为服务器选项指定新值。
使用此过程,数据库管理员可以临时替换某些数据库服务器选项,而不需要重新启动数据库服务器。
当服务器关闭时,使用此存储过程更改的选项值将重置为其缺省值。如果想在服务器每次启动时都更改选项值,则可以在数据库服务器启动时指定相应的数据库服务器选项(如果存在),下表中最右侧的列给出了这些选项。
以下选项设置可以更改:
选项名称 | 值 | 缺省 | 服务器选项 | 另请参见 |
---|---|---|---|---|
AutoMultiProgrammingLevel | YES、NO | YES | -gna dbsrv12 服务器选项 | 进程并发水平的数据库服务器配置 |
AutoMultiProgrammingLevelStatistics | YES、NO | NO | -gns dbsrv12 服务器选项 | AutoMultiProgrammingLevelStatistics 服务器属性 |
CacheSizingStatistics | YES、NO | NO | -cs dbeng12/dbsrv12 服务器选项 | CacheSizingStatistics 服务器属性 |
CollectStatistics | YES、NO | YES | -k dbeng12/dbsrv12 服务器选项 | CollectStatistics 服务器属性 |
ConnsDisabled | YES、NO | NO | ConnsDisabled 服务器属性 | |
ConnsDisabledForDB | YES、NO | NO | ||
ConsoleLogFile | filename | -o dbeng12/dbsrv12 服务器选项 | ConsoleLogFile 服务器属性 | |
ConsoleLogMaxSize | file-size(以字节为单位) | -on dbeng12/dbsrv12 服务器选项 | ConsoleLogMaxSize 服务器属性 | |
CurrentMultiProgrammingLevel | Integer | 20 | -gn dbsrv12 服务器选项 | 进程并发水平的数据库服务器配置 |
DatabaseCleaner | ON、OFF | ON | DatabaseCleaner 数据库属性 | |
DeadlockLogging | ON、OFF、RESET、CLEAR | OFF | log_deadlocks 选项 | |
DebuggingInformation | YES、NO | NO | -z dbeng12/dbsrv12 服务器选项 | DebuggingInformation 服务器属性 |
DropBadStatistics | YES、NO | YES | ||
DropUnusedStatistics | YES、NO | YES | ||
IdleTimeout | 整数(以分钟为单位) | 240 | -ti dbeng12/dbsrv12 服务器选项 | IdleTimeout 服务器属性 |
IPAddressMonitorPeriod | 整数(以秒为单位) | 便携设备的缺省值为 120,其它设备为 0 | -xm dbeng12/dbsrv12 服务器选项 | IPAddressMonitorPeriod 服务器属性 |
LivenessTimeout | 整数(以秒为单位) | 120 | -tl dbeng12/dbsrv12 服务器选项 | LivenessTimeout 服务器属性 |
MaxMultiProgrammingLevel | 整数 | CurrentMultiProgrammingLevel 值的四倍 | -gnh dbsrv12 服务器选项 | 进程并发水平的数据库服务器配置 |
MessageCategoryLimit | 整数 | 400 | MessageCategoryLimit 服务器属性 | |
MinMultiProgrammingLevel | 整数 | -gtc 服务器选项的值和计算机上的逻辑 CPU 的数量的最小值 | -gnl dbsrv12 服务器选项 | 进程并发水平的数据库服务器配置 |
OptionWatchAction | MESSAGE、ERROR | MESSAGE | ||
OptionWatchList | 以逗号分隔的数据库选项列表 | |||
ProcedureProfiling | YES、NO、RESET、CLEAR | NO | ProcedureProfiling 数据库属性 | |
ProfileFilterConn | connection-id | ProfileFilterConn 服务器属性 | ||
ProfileFilterUser | user-id | ProfileFilterUser 服务器属性 | ||
QuittingTime | 有效的日期和时间 | -tq dbeng12/dbsrv12 服务器选项 | QuittingTime 服务器属性 | |
RememberLastPlan | YES、NO | NO | -zp dbeng12/dbsrv12 服务器选项 | RememberLastPlan 服务器属性 |
RememberLastStatement | YES、NO | NO | -zl dbeng12/dbsrv12 服务器选项 | RememberLastStatement 服务器属性 |
RequestFilterConn | connection-id, -1 | RequestFilterConn 服务器属性 | ||
RequestFilterDB | database-id, -1 | RequestFilterDB 服务器属性 | ||
RequestLogFile | filename | -zo dbeng12/dbsrv12 服务器选项 | RequestLogFile 服务器属性 | |
RequestLogging | SQL、HOSTVARS、PLAN、PROCEDURES、TRIGGERS、OTHER、BLOCKS、REPLACE、ALL、YES、NONE、NO | NONE | -zr dbeng12/dbsrv12 服务器选项 | RequestLogging 服务器属性 |
RequestLogMaxSize | file-size(以字节为单位) | -zs dbeng12/dbsrv12 服务器选项 | RequestLogMaxSize 服务器属性 | |
RequestLogNumFiles | Integer | -zn dbeng12/dbsrv12 服务器选项 | RequestLogNumFiles 服务器属性 | |
RequestTiming | YES、NO | NO | -zt dbeng12/dbsrv12 服务器选项 | RequestTiming 服务器属性 |
SecureFeatures | feature-list | -sf dbeng12/dbsrv12 服务器选项 | 受保护的功能 | |
StatisticsCleaner | ON、OFF | ON | ||
WebClientLogFile | filename | -zoc dbeng12/dbsrv12 服务器选项 | WebClientLogFile 服务器属性 | |
WebClientLogging | ON、OFF | OFF | -zoc dbeng12/dbsrv12 服务器选项 | WebClientLogging 服务器属性 |
AutoMultiProgrammingLevel 设置为 YES 时,数据库服务器会自动调整其进程并发水平,该属性控制某一时刻可同时处于活动状态的最大任务数。如果通过将该选项设置为 NO 来选择手动控制进程并发水平,则还可以设置进程并发水平的初始值、最小值和最大值。
AutoMultiProgrammingLevelStatistics 设置为 YES 时,进程并发水平自动调整的统计信息将显示在数据库服务器消息日志中。
CacheSizingStatistics 当设置为 YES 时,每当高速缓存大小发生变化时,数据库服务器消息窗口中就会显示高速缓存信息。
ConsoleLogFile 用来记录数据库服务器消息日志信息的文件的名称。指定一个空字符串会停止将信息记录到文件。路径中的任何反斜线字符必须写两遍,因为这是 SQL 字符串。
ConsoleLogMaxSize 用来记录数据库服务器消息日志信息的文件的最大大小(以字节为单位)。当数据库服务器消息日志文件达到该属性或 -on 服务器选项指定的大小后,通过附加的扩展名 .old,该文件被重命名(如果已经存在具有相同名称的文件,则将其替换)。然后,该数据库服务器消息日志文件被重新启动。
DeadlockLogging 控制死锁记录。同时支持值 deadlock_logging。还可以在 Sybase Central 的 [数据库属性] 窗口中配置死锁记录选项。支持以下值:
ON 启用死锁记录。
OFF 禁用死锁记录,但使死锁数据可供查看。
RESET 清除记录的死锁数据(如果存在的话),然后启用死锁记录。
CLEAR 清除记录的死锁数据(如果存在的话),然后禁用死锁记录。
启用死锁记录后,可以使用 sa_report_deadlocks 系统过程从数据库检索死锁信息。
IPAddressMonitorPeriod 设置检查新 IP 地址的时间(以秒为单位)。最小值为 10,缺省值为 0。对于便携式设备,缺省值为 120。
LivenessTimeout 定期通过客户端/服务器 TCP/IP 网络发送活动包,用以确认连接的完整性。如果网络服务器运行了一个 LivenessTimeout 周期但没有检测到活动包,则切断通信。
MessageCategoryLimit 设置可使用 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 sa_server_option( 'OptionWatchList','automatic_timestamp, float_as_double,tsql_hex_constant' ) |
可以通过执行以下的查询来查看此属性的当前设置:
SELECT DB_PROPERTY( 'OptionWatchList' ); |
ProcedureProfiling 控制存储过程、函数、事件和触发器的过程分析。过程分析向您显示存储过程、函数、事件和触发器的执行时间。还可以在 Sybase Central 的 [数据库属性] 窗口中设置过程分析选项
ProfileFilterConn
指示数据库服务器捕获指定连接 ID 的分析信息,而不阻止其它连接使用该数据库。启用连接过滤后,SELECT PROPERTY( 'ProfileFilterConn' )
返回的值是被监控连接的连接 ID。如果未指定 ID 或禁用连接过滤,则返回的值为 -1。
RememberLastPlan 指示数据库服务器捕获在连接上执行的最后一个查询的详细文本计划。此设置还由 -zp 服务器选项控制。
当启用了 RememberLastPlan 时,可以通过查询 LastPlanText 连接属性的值来获取在连接上执行的最后一个查询计划的文本表示。
SELECT CONNECTION_PROPERTY( 'LastPlanText' ); |
RememberLastStatement 指示数据库服务器为在服务器上运行的每个数据库捕获最近预准备 SQL 语句。对于存储过程调用,仅显示最外面的过程调用,不显示过程中的语句。
当 RememberLastStatement 启用时,可以通过查询 LastStatement 连接属性的值来为连接获取 LastStatement 的当前值:
SELECT CONNECTION_PROPERTY( 'LastStatement' ); |
如果启用客户端语句高速缓存并且重用了某个高速缓存的语句,则此属性返回空字符串。
当 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 字符串。
如果启用了客户端语句高速缓存,则应将 max_client_statements_cached 选项设为 0 以禁用客户端语句高速缓存。同时,如果会使用 tracetime.pl Perl 脚本对日志进行分析,还将捕获请求日志。
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' ); |
有关详细信息,请参见访问数据库服务器属性值。
RequestLogMaxSize 用来记录请求记录信息的文件的最大大小(以字节为单位)。如果指定为 0,则对请求记录文件而言没有最大大小,且该文件也决不会被重命名。这是缺省值。
当请求日志文件达到 sa_server_option 系统过程或 -zs 服务器选项指定的大小后,会用附加的扩展名 .old 对该文件进行重命名(如果已经存在这样一个文件,则用相同名称替换现有的文件)。然后,重新启动请求日志文件。
RequestLogNumFiles 要保留的请求日志文件副本的数目。
如果在较长一段时间内启用了请求记录,则请求日志文件可能会变得很大。-zn 允许您指定要保留的请求日志文件副本的数量。
RequestTiming 指示数据库服务器维护每个连接的计时信息。缺省情况下,此功能关闭。此功能打开时,数据库服务器会为每个连接维护累计计时器,该计时器表明连接在服务器的各个状态中所花费的具体时间。可以使用 sa_performance_diagnostics 系统过程来获得此计时信息的汇总,或者通过检查以下连接属性来检索各个值:
当 RequestTiming 服务器属性设置为 on 时,为每个请求维护附加计数器会产生少量开销。
SecureFeatures 可用于启用或禁用已经运行的数据库服务器的安全功能。feature-list 是以逗号分隔的功能名称或功能集的列表。通过向列表中添加功能可以限制功能的可用性。要从安全功能列表中删除项目,请在安全功能名称前指定一个减号 (-)。
为启用或禁用功能而进行的任何更改都会立即对连接生效。这些设置不影响执行 sa_server_option 系统过程的连接;必须断开并重新连接才能使设置生效。
要使用 sa_server_option 系统过程启用或禁用功能,必须在启动数据库服务器时使用 -sk 选项指定一个密钥,然后将 secure_feature_key 数据库选项的值设置为 -sk 所指定的密钥(例如,SET TEMPORARY OPTION secure_feature_key = 'j978kls12'
)。将 secure_feature_key 数据库选项设置为 -sk 值使您可以更改安全功能的设置。
例如,要禁用两个功能并启用第三个功能,应使用以下语法:
CALL sa_server_option('SecureFeatures', 'CONSOLE_LOG,WEBCLIENT_LOG,-REQUEST_LOG' ); |
执行了该语句后,CONSOLE_LOG 和 WEBCLIENT_LOG 被添加到安全功能列表中,而 REQUEST_LOG 将从列表中删除。
StatisticsCleaner 统计信息清理程序通过对表执行扫描修复提供错误估计的统计信息。缺省情况下,统计信息清理程序在后台运行,且对性能影响很小。
关闭统计信息清理程序不会禁用统计信息调控器,但关闭统计信息清理程序时,只有在运行查询时才能创建或修复统计信息。
WebClientLogFile Web 服务客户端日志文件的名称。每次使用 -zoc 服务器选项或 WebClientLogFile 属性设置或重置文件名时,Web 服务客户端日志文件都将被截断。路径中的任何反斜线字符都必须双写,因为这是字符串。
WebClientLogging 此选项可启用或禁用对 Web 服务客户端的记录。记录的信息包括 HTTP 请求和响应数据。指定 ON 将开始向 Web 服务客户端日志文件写入记录,而指定 OFF 可停止向该文件写入记录。
以下选项与应用程序分析或请求记录有关,需要具有 DBA 或 PROFILE 权限:
所有其它选项都要求具有 DBA 权限。
无
以下语句禁止与数据库服务器建立新连接:
CALL sa_server_option( 'ConnsDisabled', 'YES' ); |
以下语句禁止与当前数据库建立新连接:
CALL sa_server_option( 'ConnsDisabledForDB', 'YES' ); |
以下语句启用所有 SQL 语句、过程调用、计划、阻塞和取消阻塞事件的记录,并指定要启动一个新请求日志:
CALL sa_server_option( 'RequestLogging', 'SQL+PROCEDURES+BLOCKS+PLAN+REPLACE' ); |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |