启用和禁用正在当前数据库服务器上运行的数据库的功能。
{ dbsrv11 | dbeng11 } -sf feature-list ...
所有操作系统和数据库服务器。
通过该选项可启用和禁用数据库服务器的功能。这些设置将影响所有运行于数据库服务器上的数据库。通过将 secure_feature_key 选项设置为由 -sk 选项指定的密钥,可为连接启用所有禁用(受保护)的功能。将 secure_feature_key 选项设置为由 -sk 指定的密钥的任何连接还可使用 sa_server_option 系统过程的 SecureFeatures 属性更改数据库服务器的受保护功能集。
feature-list 是针对数据库服务器的、要加以保护的功能名称或功能集逗号分隔列表。使用 feature-name 指示应禁用该功能,-feature-name 指示应从禁用功能列表中删除该功能。例如,以下命令指示仅启用 dbspace 功能:
dbeng11 -n secure_server -sf all,-dbspace |
支持以下 feature-name 值(括号中的值是功能名的简写形式,也可以用这种形式指定功能名):
none 指定未禁用任何功能。
all 禁用全部可禁用的功能,包括以下组。
client 禁用所有允许访问客户端相关输入/输出的功能。这包括访问客户端计算环境。该功能集由以下功能组成。
read_client_file 禁用能够读取客户端文件的语句。例如,READ_CLIENT_FILE 函数和 LOAD TABLE 语句。请参见访问客户端计算机上的数据。
write_client_file 禁用能够写入客户端文件的所有语句。例如,UNLOAD 语句和 WRITE_CLIENT_FILE 函数。请参见访问客户端计算机上的数据。
local 禁用所有本地相关的功能。这包括访问服务器计算环境。该功能集由 local_call、local_db、local_io 和 local_log 功能子集组成,如下所述。
local_call 禁用所有能够执行不直接属于服务器且不受该服务器控制的代码的功能。该功能集由以下功能组成。
cmdshell 禁用 xp_cmdshell 过程。请参见xp_cmdshell 系统过程。
external_procedure 禁用外部存储过程。此设置不 会禁用内置于数据库服务器中的 xp_* 系统过程(例如 xp_cmdshell、xp_readfile 等)。为这些系统过程提供了单独的功能控制选项。请参见从过程调用外部库。
java 禁用 Java 相关的过程,例如,Java 过程。请参见创建 Java 类以与 SQL Anywhere 配合使用。
local_db 禁用所有与数据库文件相关的功能。该功能集由以下功能组成。
backup 禁用 BACKUP 语句,从而禁用了执行服务器端备份的功能。还可使用 dbbackup 来执行客户端备份。请参见BACKUP 语句。
restore 禁用 RESTORE DATABASE 语句。请参见RESTORE DATABASE 语句。
database 禁用 CREATE DATABASE、ALTER DATABASE、DROP DATABASE、CREATE ENCRYPTED FILE、CREATE DECRYPTED FILE、CREATE ENCRYPTED DATABASE 和 CREATE DECRYPTED DATABASE 语句。
dbspace 禁用 CREATE DBSPACE、ALTER DBSPACE 和 DROP DBSPACE 语句。
local_io 禁用所有允许直接访问文件及其内容的功能。该功能集由以下功能组成。
read_file 禁用能够读取本地文件的语句。例如,xp_read_file 系统过程、LOAD TABLE 语句以及 OPENSTRING( FILE ... ) 的使用。). 不建议使用替代名 load_table 和 xp_read_file。
write_file 禁用能够写入本地文件的所有语句。例如,UNLOAD 语句和 xp_write_file 系统过程。不建议使用替代名 unload_table 和 xp_write_file。
delete_file 禁用能够删除本地文件的所有语句。例如,禁用 db_delete_file DBLib 函数,该函数会删除数据库文件。db_delete_file 函数由 dbbackup -x 和 -xo 选项使用,因此在指定 -x 或 -xo 选项时保护 db_delete_file 会导致 dbbackup 失败。请参见db_delete_file 函数。
directory 禁用目录类代理表。该功能在禁用 remote_data_access 时也将被禁用。
local_log 禁用所有导致创建或直接向磁盘上某个文件写入数据的记录功能。该功能集由以下功能组成。
request_log 禁用更改请求日志文件名的功能,同时禁用增加请求日志文件大小或文件数量限制的功能。可在启动数据库服务器的命令中指定请求日志文件以及对此文件的限制;但在服务器启动之后将无法进行更改。禁用请求日志功能时,仍可打开和关闭请求记录功能,并可减少请求记录文件的最大文件大小和数量。请参见请求记录。
console_log 禁用使用 sa_server_option 系统过程的 ConsoleLogFile 选项更改数据库服务器消息日志文件名的功能。同时禁用使用 sa_server_option 系统过程的 ConsoleLogMaxSize 选项增加日志文件最大大小的功能。可在启动数据库服务器时指定服务器日志文件及其大小。
webclient_log 禁用使用 sa_server_option 系统过程的 WebClientLogFile 选项更改 Web 服务客户端日志文件名的功能。可在启动数据库服务器时指定 Web 服务客户端日志文件。请参见-zoc 服务器选项。
remote 禁用所有允许远程访问或与远程进程通信的功能。该功能集由以下功能组成。
remote_data_access 禁用任何远程数据访问服务,例如代理表。
send_udp 禁用使用 sa_send_udp 系统过程向指定地址发送 UDP 包的功能。
web_service_client 禁用 Web 服务客户端存储过程调用(即,发出 HTTP 请求的存储过程)。
下表列出了所有功能集关键字以及所在层次。例如,local_io 包括 read_file、write_file、delete_file 和 directory 功能。
以下命令启动一个名为 secure_server 的数据库服务器,启动时将禁用对请求日志的访问权限,并禁用所有远程数据访问功能。由 -sk 选项指定的密钥以后可与 secure_feature_key 数据库选项一起使用,以为特定连接启用这些功能。
dbsrv11 -n secure_server -sf request_log,remote -sk j978kls12 |
如果某个与 secure_server 数据库服务器上运行的数据库相连的用户将 secure_feature_key 选项设置为由 -sk 指定的值,则该连接将能够访问请求日志并可使用远程数据访问功能:
SET TEMPORARY OPTION secure_feature_key = 'j978kls12'; |
以下命令将禁用所有功能,但本地数据库功能除外:
dbeng11 -n secure_server -sf all,-local_db |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |