您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

-sf 数据库服务器选项

控制用户是否能够访问当前数据库服务器上所运行的数据库的功能。

任何具有相应系统角色或特权的用户均可访问未受保护的功能。仅被授予使用受保护功能特权(通过指定相应的安全功能密钥)的用户以及具有相应系统角色或特权的用户可以访问受保护的功能。

语法

start_iq -sf  ...
 :

| [,[-] | ] ...

参数

  • none指定未保护任何功能。

  • manage_server此功能集禁止用户访问所有与数据库服务器相关的功能。此功能集由以下功能组成:processor_affinity禁止用户更改数据库服务器的处理器相似性(所使用的逻辑处理器的数量)。manage_cockpitdb 禁止用户启用或禁用 Cockpit,或更改 Cockpit 的缺省文件。即 manage_cockpitdb 会禁止用户通过 CockpitDB 选项来执行 sa_server_option。manage_listeners禁止用户通过使用 sp_start_listener 或 sp_stop_listener 系统过程,启动或停止连接监听器。manage_property_history 禁止用户启用和配置数据库服务器属性值的跟踪。

  • processor_affinity禁止用户更改数据库服务器的处理器相似性(所使用的逻辑处理器的数量)。

  • manage_cockpitdb 禁止用户启用或禁用 Cockpit,或更改 Cockpit 的缺省文件。即 manage_cockpitdb 会禁止用户通过 CockpitDB 选项来执行 sa_server_option。

  • manage_listeners禁止用户通过使用 sp_start_listener 或 sp_stop_listener 系统过程,启动或停止连接监听器。

  • manage_property_history 禁止用户启用和配置数据库服务器属性值的跟踪。

  • manage_security此功能集禁止用户访问用于管理数据库服务器安全的功能。缺省情况下,这些功能是受保护的。manage_features禁止用户修改可在数据库服务器上受保护的功能的列表。manage_keys禁止创建、修改、删除或列出安全功能密钥。如果用户能够访问 manage_keys 功能,但不能访问 manage_features 功能,则只能使用为其指派的功能来定义密钥。manage_disk_sandbox禁止用户使用 sa_server_option 系统过程或 sa_db_option 系统过程临时更改磁盘沙箱设置。manage_disk_sandbox 功能无法为所有数据库或用户关闭。它只能通过使用 sp_use_secure_feature_key 系统过程而为单个连接关闭。

  • manage_features禁止用户修改可在数据库服务器上受保护的功能的列表。

  • manage_keys禁止创建、修改、删除或列出安全功能密钥。如果用户能够访问 manage_keys 功能,但不能访问 manage_features 功能,则只能使用为其指派的功能来定义密钥。

  • manage_disk_sandbox禁止用户使用 sa_server_option 系统过程或 sa_db_option 系统过程临时更改磁盘沙箱设置。manage_disk_sandbox 功能无法为所有数据库或用户关闭。它只能通过使用 sp_use_secure_feature_key 系统过程而为单个连接关闭。

  • server_security此功能集禁止用户访问可临时跳过安全设置的功能。缺省情况下,除 trace_system_event 以外的以下功能受保护。disk_sandbox禁止用户在位于主数据库文件所在目录之外的数据库上执行读写文件操作。trace_system_event禁止用户创建用户定义的跟踪事件。database_isolation 允许数据库隔离针对当前连接临时关闭。

  • disk_sandbox禁止用户在位于主数据库文件所在目录之外的数据库上执行读写文件操作。

  • trace_system_event禁止用户创建用户定义的跟踪事件。

  • database_isolation 允许数据库隔离针对当前连接临时关闭。

  • all此功能集禁止用户访问以下组:client此功能集禁止用户访问所有允许访问客户端相关输入和输出的功能。此功能控制对客户端计算环境的访问。该功能集由以下功能组成:read_client_file禁止使用能够读取客户端文件的语句。例如,READ_CLIENT_FILE 函数和 LOAD TABLE 语句。write_client_file禁止使用能够写入客户端文件的所有语句。例如,UNLOAD 语句和 WRITE_CLIENT_FILE 函数。remote此功能集禁止用户访问所有允许远程访问或与远程进程通信的功能。此功能集由以下功能组成:remote_data_access禁止使用任何远程数据访问服务,例如代理表。send_email禁止使用电子邮件系统过程,例如 xp_sendmail。send_udp禁止使用 sa_send_udp 系统过程向指定地址发送 UDP 包的功能。web_service_client禁止使用 Web 服务客户端存储过程调用(发出 HTTP 请求的存储过程)。local此功能集禁止用户访问所有本地相关的功能。此功能控制对服务器计算环境的访问。此集合由 local_call、local_db、local_io 和 local_log 功能子集组成。local_call此功能集禁止用户访问所有能够执行不直接属于数据库服务器,且不受该数据库服务器控制的代码的功能。此功能集由以下功能组成:cmdshell禁止使用 xp_cmdshell 过程。external_procedure禁止使用用户定义的外部存储过程。external_procedure_v3请参阅《用户定义函数》指南。inmemory_external_procedureTBD。external_library_full_text禁止使用用户定义的外部术语断开器库。java禁止使用 Java 相关的功能,例如,Java 过程。local_db此功能集禁止用户访问所有与数据库文件相关的功能。此功能集由以下功能组成:backup禁止使用 BACKUP DATABASE 语句,从而禁止使用执行服务器端备份的功能。您仍可使用 dbbackup 实用程序执行客户端备份。restore禁止使用 RESTORE DATABASE 语句。database禁止使用 CREATE DATABASEALTER DATABASEDROP DATABASE 语句。dbspace禁止使用 CREATE DBSPACEALTER DBSPACEDROP DBSPACE 语句。local_env此功能集禁止用户访问所有与环境变量相关的功能。此功能集由以下功能组成:getenv禁止用户读取任何环境变量值。local_io此功能集禁止用户访问所有允许直接访问文件及其内容的功能。此功能集由以下功能组成:create_trace_file禁止使用可创建事件跟踪目标的语句。read_file禁止使用能够读取本地文件的语句。例如,xp_read_file 系统过程、LOAD TABLE 语句以及 OPENSTRING( FILE...) 的使用。write_file禁止使用能够写入本地文件的所有语句。例如,UNLOAD 语句和 xp_write_file 系统过程。delete_file禁止使用能够删除本地文件的所有语句。例如,如果指定 -x 或 -xo 选项,则保护此功能将导致 dbbackup 实用程序运行失败。directory禁止使用目录类代理表。该功能在禁用 remote_data_access 时将被禁用。file_directory_functions此功能集禁止用户访问以下所有功能:sp_list_directory禁止使用 sp_list_directory 系统过程。sp_create_directory禁止使用 sp_create_directory 系统过程。sp_copy_directory禁止使用 sp_copy_directory 系统过程。sp_move_directory禁止使用 sp_move_directory 系统过程。sp_delete_directory禁止使用 sp_delete_directory 系统过程。sp_copy_file禁止使用 sp_copy_file 系统过程。sp_move_file禁止使用 sp_move_file 系统过程。sp_delete_file禁止使用 sp_delete_file 系统过程。sp_disk_info禁止使用 sp_create_directory 系统过程。local_log禁止用户访问所有导致创建或直接向磁盘上某个文件写入数据的记录功能。该功能集由以下功能组成:request_log禁止使用更改请求日志文件名的功能,同时禁止使用增加请求日志文件大小或文件数量限制的功能。可在启动数据库服务器的命令中指定请求日志文件以及对此文件的限制;但在数据库服务器启动之后将无法进行更改。禁用请求日志功能时,仍可打开和关闭请求记录功能,并可减少请求记录文件的最大文件大小和数量。console_log禁止使用 sa_server_option 系统过程的 ConsoleLogFile 选项更改数据库服务器消息日志文件名的功能。保护此功能同时将禁止使用 sa_server_option 系统过程的 ConsoleLogMaxSize 选项增加数据库服务器消息日志文件最大大小的功能。可在启动数据库服务器时指定服务器日志文件及其大小。webclient_log禁止使用 sa_server_option 系统过程的 WebClientLogFile 选项更改 Web 服务客户端日志文件名的功能。可在启动数据库服务器时指定 Web 服务客户端日志文件。

  • client此功能集禁止用户访问所有允许访问客户端相关输入和输出的功能。此功能控制对客户端计算环境的访问。该功能集由以下功能组成:read_client_file禁止使用能够读取客户端文件的语句。例如,READ_CLIENT_FILE 函数和 LOAD TABLE 语句。write_client_file禁止使用能够写入客户端文件的所有语句。例如,UNLOAD 语句和 WRITE_CLIENT_FILE 函数。

  • read_client_file禁止使用能够读取客户端文件的语句。例如,READ_CLIENT_FILE 函数和 LOAD TABLE 语句。

  • write_client_file禁止使用能够写入客户端文件的所有语句。例如,UNLOAD 语句和 WRITE_CLIENT_FILE 函数。

  • remote此功能集禁止用户访问所有允许远程访问或与远程进程通信的功能。此功能集由以下功能组成:remote_data_access禁止使用任何远程数据访问服务,例如代理表。send_email禁止使用电子邮件系统过程,例如 xp_sendmail。send_udp禁止使用 sa_send_udp 系统过程向指定地址发送 UDP 包的功能。web_service_client禁止使用 Web 服务客户端存储过程调用(发出 HTTP 请求的存储过程)。

  • remote_data_access禁止使用任何远程数据访问服务,例如代理表。

  • send_email禁止使用电子邮件系统过程,例如 xp_sendmail。

  • send_udp禁止使用 sa_send_udp 系统过程向指定地址发送 UDP 包的功能。

  • web_service_client禁止使用 Web 服务客户端存储过程调用(发出 HTTP 请求的存储过程)。

  • local此功能集禁止用户访问所有本地相关的功能。此功能控制对服务器计算环境的访问。此集合由 local_call、local_db、local_io 和 local_log 功能子集组成。local_call此功能集禁止用户访问所有能够执行不直接属于数据库服务器,且不受该数据库服务器控制的代码的功能。此功能集由以下功能组成:cmdshell禁止使用 xp_cmdshell 过程。external_procedure禁止使用用户定义的外部存储过程。external_procedure_v3请参阅《用户定义函数》指南。inmemory_external_procedureTBD。external_library_full_text禁止使用用户定义的外部术语断开器库。java禁止使用 Java 相关的功能,例如,Java 过程。local_db此功能集禁止用户访问所有与数据库文件相关的功能。此功能集由以下功能组成:backup禁止使用 BACKUP DATABASE 语句,从而禁止使用执行服务器端备份的功能。您仍可使用 dbbackup 实用程序执行客户端备份。restore禁止使用 RESTORE DATABASE 语句。database禁止使用 CREATE DATABASEALTER DATABASEDROP DATABASE 语句。dbspace禁止使用 CREATE DBSPACEALTER DBSPACEDROP DBSPACE 语句。local_env此功能集禁止用户访问所有与环境变量相关的功能。此功能集由以下功能组成:getenv禁止用户读取任何环境变量值。local_io此功能集禁止用户访问所有允许直接访问文件及其内容的功能。此功能集由以下功能组成:create_trace_file禁止使用可创建事件跟踪目标的语句。read_file禁止使用能够读取本地文件的语句。例如,xp_read_file 系统过程、LOAD TABLE 语句以及 OPENSTRING( FILE...) 的使用。write_file禁止使用能够写入本地文件的所有语句。例如,UNLOAD 语句和 xp_write_file 系统过程。delete_file禁止使用能够删除本地文件的所有语句。例如,如果指定 -x 或 -xo 选项,则保护此功能将导致 dbbackup 实用程序运行失败。directory禁止使用目录类代理表。该功能在禁用 remote_data_access 时将被禁用。file_directory_functions此功能集禁止用户访问以下所有功能:sp_list_directory禁止使用 sp_list_directory 系统过程。sp_create_directory禁止使用 sp_create_directory 系统过程。sp_copy_directory禁止使用 sp_copy_directory 系统过程。sp_move_directory禁止使用 sp_move_directory 系统过程。sp_delete_directory禁止使用 sp_delete_directory 系统过程。sp_copy_file禁止使用 sp_copy_file 系统过程。sp_move_file禁止使用 sp_move_file 系统过程。sp_delete_file禁止使用 sp_delete_file 系统过程。sp_disk_info禁止使用 sp_create_directory 系统过程。local_log禁止用户访问所有导致创建或直接向磁盘上某个文件写入数据的记录功能。该功能集由以下功能组成:request_log禁止使用更改请求日志文件名的功能,同时禁止使用增加请求日志文件大小或文件数量限制的功能。可在启动数据库服务器的命令中指定请求日志文件以及对此文件的限制;但在数据库服务器启动之后将无法进行更改。禁用请求日志功能时,仍可打开和关闭请求记录功能,并可减少请求记录文件的最大文件大小和数量。console_log禁止使用 sa_server_option 系统过程的 ConsoleLogFile 选项更改数据库服务器消息日志文件名的功能。保护此功能同时将禁止使用 sa_server_option 系统过程的 ConsoleLogMaxSize 选项增加数据库服务器消息日志文件最大大小的功能。可在启动数据库服务器时指定服务器日志文件及其大小。webclient_log禁止使用 sa_server_option 系统过程的 WebClientLogFile 选项更改 Web 服务客户端日志文件名的功能。可在启动数据库服务器时指定 Web 服务客户端日志文件。

  • local_call此功能集禁止用户访问所有能够执行不直接属于数据库服务器,且不受该数据库服务器控制的代码的功能。此功能集由以下功能组成:cmdshell禁止使用 xp_cmdshell 过程。external_procedure禁止使用用户定义的外部存储过程。external_procedure_v3请参阅《用户定义函数》指南。inmemory_external_procedureTBD。external_library_full_text禁止使用用户定义的外部术语断开器库。java禁止使用 Java 相关的功能,例如,Java 过程。

  • cmdshell禁止使用 xp_cmdshell 过程。

  • external_procedure禁止使用用户定义的外部存储过程。

  • external_procedure_v3请参阅《用户定义函数》指南。

  • inmemory_external_procedureTBD。

  • external_library_full_text禁止使用用户定义的外部术语断开器库。

  • java禁止使用 Java 相关的功能,例如,Java 过程。

  • local_db此功能集禁止用户访问所有与数据库文件相关的功能。此功能集由以下功能组成:backup禁止使用 BACKUP DATABASE 语句,从而禁止使用执行服务器端备份的功能。您仍可使用 dbbackup 实用程序执行客户端备份。restore禁止使用 RESTORE DATABASE 语句。database禁止使用 CREATE DATABASEALTER DATABASEDROP DATABASE 语句。dbspace禁止使用 CREATE DBSPACEALTER DBSPACEDROP DBSPACE 语句。

  • backup禁止使用 BACKUP DATABASE 语句,从而禁止使用执行服务器端备份的功能。您仍可使用 dbbackup 实用程序执行客户端备份。

  • restore禁止使用 RESTORE DATABASE 语句。

  • database禁止使用 CREATE DATABASEALTER DATABASEDROP DATABASE 语句。

  • dbspace禁止使用 CREATE DBSPACEALTER DBSPACEDROP DBSPACE 语句。

  • local_env此功能集禁止用户访问所有与环境变量相关的功能。此功能集由以下功能组成:getenv禁止用户读取任何环境变量值。

  • getenv禁止用户读取任何环境变量值。

  • local_io此功能集禁止用户访问所有允许直接访问文件及其内容的功能。此功能集由以下功能组成:create_trace_file禁止使用可创建事件跟踪目标的语句。read_file禁止使用能够读取本地文件的语句。例如,xp_read_file 系统过程、LOAD TABLE 语句以及 OPENSTRING( FILE...) 的使用。write_file禁止使用能够写入本地文件的所有语句。例如,UNLOAD 语句和 xp_write_file 系统过程。delete_file禁止使用能够删除本地文件的所有语句。例如,如果指定 -x 或 -xo 选项,则保护此功能将导致 dbbackup 实用程序运行失败。directory禁止使用目录类代理表。该功能在禁用 remote_data_access 时将被禁用。file_directory_functions此功能集禁止用户访问以下所有功能:sp_list_directory禁止使用 sp_list_directory 系统过程。sp_create_directory禁止使用 sp_create_directory 系统过程。sp_copy_directory禁止使用 sp_copy_directory 系统过程。sp_move_directory禁止使用 sp_move_directory 系统过程。sp_delete_directory禁止使用 sp_delete_directory 系统过程。sp_copy_file禁止使用 sp_copy_file 系统过程。sp_move_file禁止使用 sp_move_file 系统过程。sp_delete_file禁止使用 sp_delete_file 系统过程。sp_disk_info禁止使用 sp_create_directory 系统过程。

  • create_trace_file禁止使用可创建事件跟踪目标的语句。

  • read_file禁止使用能够读取本地文件的语句。例如,xp_read_file 系统过程、LOAD TABLE 语句以及 OPENSTRING( FILE...) 的使用。

  • write_file禁止使用能够写入本地文件的所有语句。例如,UNLOAD 语句和 xp_write_file 系统过程。

  • delete_file禁止使用能够删除本地文件的所有语句。例如,如果指定 -x 或 -xo 选项,则保护此功能将导致 dbbackup 实用程序运行失败。

  • directory禁止使用目录类代理表。该功能在禁用 remote_data_access 时将被禁用。

  • file_directory_functions此功能集禁止用户访问以下所有功能:sp_list_directory禁止使用 sp_list_directory 系统过程。sp_create_directory禁止使用 sp_create_directory 系统过程。sp_copy_directory禁止使用 sp_copy_directory 系统过程。sp_move_directory禁止使用 sp_move_directory 系统过程。sp_delete_directory禁止使用 sp_delete_directory 系统过程。sp_copy_file禁止使用 sp_copy_file 系统过程。sp_move_file禁止使用 sp_move_file 系统过程。sp_delete_file禁止使用 sp_delete_file 系统过程。sp_disk_info禁止使用 sp_create_directory 系统过程。

  • sp_list_directory禁止使用 sp_list_directory 系统过程。

  • sp_create_directory禁止使用 sp_create_directory 系统过程。

  • sp_copy_directory禁止使用 sp_copy_directory 系统过程。

  • sp_move_directory禁止使用 sp_move_directory 系统过程。

  • sp_delete_directory禁止使用 sp_delete_directory 系统过程。

  • sp_copy_file禁止使用 sp_copy_file 系统过程。

  • sp_move_file禁止使用 sp_move_file 系统过程。

  • sp_delete_file禁止使用 sp_delete_file 系统过程。

  • sp_disk_info禁止使用 sp_create_directory 系统过程。

  • local_log禁止用户访问所有导致创建或直接向磁盘上某个文件写入数据的记录功能。该功能集由以下功能组成:request_log禁止使用更改请求日志文件名的功能,同时禁止使用增加请求日志文件大小或文件数量限制的功能。可在启动数据库服务器的命令中指定请求日志文件以及对此文件的限制;但在数据库服务器启动之后将无法进行更改。禁用请求日志功能时,仍可打开和关闭请求记录功能,并可减少请求记录文件的最大文件大小和数量。console_log禁止使用 sa_server_option 系统过程的 ConsoleLogFile 选项更改数据库服务器消息日志文件名的功能。保护此功能同时将禁止使用 sa_server_option 系统过程的 ConsoleLogMaxSize 选项增加数据库服务器消息日志文件最大大小的功能。可在启动数据库服务器时指定服务器日志文件及其大小。webclient_log禁止使用 sa_server_option 系统过程的 WebClientLogFile 选项更改 Web 服务客户端日志文件名的功能。可在启动数据库服务器时指定 Web 服务客户端日志文件。

  • request_log禁止使用更改请求日志文件名的功能,同时禁止使用增加请求日志文件大小或文件数量限制的功能。可在启动数据库服务器的命令中指定请求日志文件以及对此文件的限制;但在数据库服务器启动之后将无法进行更改。禁用请求日志功能时,仍可打开和关闭请求记录功能,并可减少请求记录文件的最大文件大小和数量。

  • console_log禁止使用 sa_server_option 系统过程的 ConsoleLogFile 选项更改数据库服务器消息日志文件名的功能。保护此功能同时将禁止使用 sa_server_option 系统过程的 ConsoleLogMaxSize 选项增加数据库服务器消息日志文件最大大小的功能。可在启动数据库服务器时指定服务器日志文件及其大小。

  • webclient_log禁止使用 sa_server_option 系统过程的 WebClientLogFile 选项更改 Web 服务客户端日志文件名的功能。可在启动数据库服务器时指定 Web 服务客户端日志文件。

    缺省值

    适用于

    所有操作系统。

    注释

    此选项允许数据库服务器所有者控制用户是否能够访问数据库服务器上所运行数据库的功能。-sk 数据库服务器选项允许数据库服务器的所有者创建一个 SYSTEM 安全功能密钥,此密钥允许用户访问由 -sf 数据库服务器选项保护的功能。

    如果在启动数据库服务器时没有指定 -sk 数据库服务器选项,则在数据库服务器运行时由 -sf 数据库服务器选项指定的功能及一些缺省功能均受保护且无法更改受保护的功能。不可以使用系统存储过程在之后创建 SYSTEM 安全功能密钥。您必须关闭数据库服务器,并在重新启动时指定 -sk 数据库服务器选项。

    是针对数据库服务器要加以保护的功能名称或功能集逗号分隔列表。如果对某一功能进行保护,则除管理员之外的所有数据库用户将无法访问该功能。如果指定某一功能集,则该功能集中包含的所有功能均将受到保护。要对功能集中的一个或多个功能进行保护,但并不保护所有功能,请指定各个功能的名称。

    使用 - 指示功能应受到保护(无法访问),使用 -- 指示应取消对功能的保护(所有数据库用户均可访问)。例如,以下命令指示只有 dbspace 功能可供所有用户访问:

    注意在缺省情况下受到保护的功能集中,其子功能所受的保护无法通过命令行取消。也就是说,以下命令无效:-sf manage_security,-manage_keys要使用缺省情况下受保护的功能集的子功能,请调用 sp_use_secure_feature_key 系统过程指定 SYSTEM 安全功能密钥,其中包含 MANAGE_KEYS 和 -sk 选项指定的口令:CALL sp_use_secure_feature_key( 'system' , 'letmeinweyou' );

    示例

    以下命令使用所有受保护的本地数据访问功能(除 dbspace 功能之外)启动名为 secure_server 的数据库服务器。

    start_iq -n secure_server -sf all,-dbspace

    以下命令使用所有受保护的远程数据访问功能(除 web_service_client 功能之外)启动名为 secure_server 的数据库服务器。由 -sk 选项指定的密钥稍后可与 sp_use_secure_feature_key 系统过程一起使用,从而使这些功能可供当前连接上的所有用户访问。

    start_iq -n secure_server -sf remote,-web_service_client -sk j978kls12

    如果连接到 secure_server 数据库服务器上所运行的数据库的用户使用 sp_use_secure_feature_key 系统过程,并将 authorization_key 参数设置为由 -sk 指定的值,则该连接能够访问远程数据访问功能:

    CALL sp_use_secure_feature_key ( 'MyKey' , 'j978kls12' );

    以下命令将保护所有功能,但本地数据库功能除外:

    start_iq -n secure_server -sf all,-local_db