Server Configuration

ALTER SERVER

Description

Use ALTER SERVER to change the server configuration by specifying server options. You must be the server owner (SYSTEM account) or administrator to run this statement.

Parameters

ALTER SERVER
    [ alter-server-options ]

alter-server-options

Specifies the list of server options to alter.

alter-server-options ::=
   "{" OPTIONS ["("] alter-server-option
                [{ "," alter-server-option } ... ] [")"]"}"

alter-server-option

Specifies the server option to alter.

alter-server-option ::=
      [alter-operation ]server-option | cache-option

alter-operation

Indicates the required action for the specified options. ADD is the default operation if a value is not set. The possible values are:

ADD

Use ADD to add the specified option.

SET

Use SET to change an option that already exists.

XSET

Use XSET to set an option that has previously been added. Otherwise, XSET adds the option if it does not exist.

DROP

Use DROP to drop the specified option.

server-option

Specifies the server configuration as one of the following options:

FILEDSNPATH | FILEDSN_ROOT

FILEDSNPATH | FILEDSN_ROOT directory-path

File DSN content location root for FILEDSN and SAVEFILE keywords. This path can be absolute or relative to the server's root content location specified in the server configuration file.

PURGE CACHE

PURGE_CACHE time-out-value

Forces the removal of outdated cache tables by specifying, in minutes, how often old data cache tables are removed from the server. A positive time value indicates the interval at which the cleanup thread will check for items to purge. A negative time-out-value means that cleanup happens only in response to an explicit PURGE CACHE command. A value of 0 indicates that old cache tables are removed after a CREATE CACHE, REFRESH CACHE, or PURGE CACHE command is issued.

SHUTDOWN_TIMEOUT

SHUTDOWN_TIMEOUT time-out-value

Specifies a time out (in seconds) for forcing a disconnect of sessions during a server shutdown event. If this value is set to 1, the server should exit immediately. Specifying a 0, a negative value, or dropping the value specifies that the server will wait for normal shutdown. The default value is 0, which allows a normal shutdown, where the server will wait for all current connections to complete and close before initiating shutdown.

TRACEFILEPATH | TRACEFILE_ROOT

TRACEFILEPATH | TRACEFILE_ROOT directory-path

Specifies the trace file content location root for TRACEFILE keywords and the TRACEFILE environment handle attribute. The trace file path is used to store all trace files that are created, either from SAS Federation Server start up or when enabled on a connection. This path can be absolute or relative to the server's ContentRoot that is specified in the server configuration file. The default trace file path is C:\Program Files\SASHome\SASFederationServer\4.2. The DRIVER_TRACEFILE= path that is set in the connection option, DRIVER TRACE, is resolved against the path that is set here.

SHARED LOGIN KEY

SHAREDLOGINKEY key

The SAS Metadata Server grouping key used to search for shared login map credentials.

PL (Procedure Language) SOURCE MANAGEMENT SECURITY

PLSrcMgtSecurity TRUE | FALSE

Specifies procedure language (PL) source management authorization which allows DS2 users to publish content to a schema specified in the connection. The default is TRUE, which limits DS2 content publishing to administrators and owners of the schema containing code. When granular PL security is set to FALSE, regular DS2 users may publish or withdraw code without being a SAS Federation Server administrator, or owner of the schema containing the code package. To allow this access, you must set PL source management authorizations to FALSE, as shown in the following example: ALTER SERVER {OPTIONS XSET PLSrcMgtSecurity FALSE}. If this option is explicitly set and later dropped, it reverts to the default of TRUE.

PACKAGE (Data Masking) ENCRYPT_KEY, RANDOM_SEED

Data masking encryption is configured as a PACKAGE option using ENCRYPT_KEY or RANDOM_SEED with specific parameters. The SYSCAT.DM.MASK function accepts defaults configured as package options in addition to the various arguments associated with each rule type, for example, the KEY argument for the ENCRYPT rule type defaults to the value configured as the ENCRYPT_KEY package option.

The following example sets a default encryption key for use with ENCRYPT and HASH:
ALTER SERVER {options PACKAGE(name 'DM',
     ENCRYPT_KEY ’212e8ba6b7f84796a87a985d54277f2f’)}
The following example drops the ENCRYPT_KEY option:
alter server {options PACKAGE(name DM drop ENCRYPT_KEY)}
RANDOM_SEED specifies an integer that is used with the RANDOM, RANDIG, RANSTR, and RANDATE data masking functions.
alter server {OPTIONS  package (name DM, set RANDOM_SEED 98765)}
The following example drops the RANDOM_SEED option:
alter server {options PACKAGE(name DM, drop RANDOM_SEED)}

CONNECTION POOLING

CONNECTION_POOLING[N[O]|F[ALSE]|OFF|Y[ES]|T[RUE]|O[N]]

This option controls connection pooling for the server. If connection pooling is enabled, database connections are not immediately disconnected upon client request. Instead, the connections are put into a connection pool so that they can be reused by subsequent connection requests for the same database with the same attributes and credentials.

CONNECTION POOLING TIMEOUT

CONNECTION_POOL_TIMEOUT seconds

This option identifies the time in seconds an unused connection stays in the connection pool. The default is 60 seconds. If the option is unset or set to 0, the connection stays in the pool for 60 seconds. If the time is exceeded, the connection is removed from the pool and the connection is closed.

CONNECTION POOLING MAXSIZE

CONNECTION_POOL_MAXSIZE maxsize

This option identifies the maximum number of unused connections in the connection pool. The default is 50. If the option is not set or set to 0, a maximum number of 50 connections are kept in the pool. If the maximum number of connections is reached and a new connection is added to the connection pool, the oldest connection is removed from the pool and the connection is closed.

cache-option : :=

Specifies a list of cache options and can be one of the following:

CACHE ( NAME cache-name, cache-property cache-property value )
The NAME option specifies the name of the cache. Cache properties for that particular cache are altered or created within the sublist. Normal generic SQL options syntax and rules apply to the CACHE option and its suboptions.

cache name: : =

Specifies the name of the authentication service (AS) cache.

AS: All AS cached resources.
AS.Name: All AS.Name mappings.
AS.Name.Subjects: User name to AS identifier cache.
AS.Name.Groups: Group name to AS identifier cache.
AS.Subject: All AS.Subject cache resources.
AS.Subject.Groups: User group memberships cache.
AS.Subject.Principals: User principal listings cache.
AS.List: Listings.
AS.List.Subjects: User listings cache.
AS.List.Groups: Group listings cache.
Authorization: Privileges.
ResultSet: Result set caches.
ResultSet.View: Materialized view cache.

cache-property : : =

Used to specify a property of the cache.

TIMEOUT

TIMEOUT=n

TIMEOUT is the number of seconds before the cache data becomes stale after a refresh. After timing out, the cache is emptied and refreshed on demand or emptied automatically, depending on the cache implementation. TIMEOUT can be set for multiple related caches by specifying a non-terminal cache namespace for the name suboption such as AS.List instead of AS.List.Groups. A value of -1 corresponds to infinite and a value of 0 corresponds to immediate. The default timeout value is 0 for all caches if not set through a parent namespace.

CONOPTS

Use the CONOPTS connection string option to call the FedSQL driver and set SQL statement limits.

FedSQL Driver

CONOPTS(driver FEDSQL)

FedSQL is the required driver for SQL requests on SAS Federation Server.

SQL Statement Limit

DEFAULT_ATTR(SQL_STMT_MEM_LIMIT = n)

Use the SQL_STATEMENT_LIMIT connection string option to control the amount of memory available to answer SQL requests, and enforce this limit for all connections. If the option is specifically set on a particular DSN, then the DSN value should override the system setting. (n)umber is treated as an integer and is specified in bytes.

Examples

These examples set a trace file path:
ALTER SERVER {OPTIONS add TRACEFILEPATH "C:\tracefiles"}
ALTER SERVER {OPTIONS add TRACEFILEPATH "logs\tracefiles"}
Set the shutdown time-out so the server will wait two minutes before disconnecting during a shutdown event:
ALTER SERVER {options (xset SHUTDOWN_TIMEOUT 120) }
Add a shared login key:
ALTER SERVER {OPTIONS xset SHAREDLOGINKEY 'DefaultKey'}
Set authentication service cache options:
ALTER SERVER {OPTIONS( CACHE(NAME AS.Subject, TIMEOUT 300),
 CACHE(NAME AS.List.Subjects, TIMEOUT 60) )}
ALTER SERVER {OPTIONS(xset PURGE_CACHE 30)}
Add connection options for the FedSQL driver:
ALTER SERVER {options CONOPTS(driver FEDSQL, 
xset DEFAULT_ATTR(SQL_STMT_MEM_LIMIT 8000000))}
This statement sets an encryption key, or random seed, for data masking.
ALTER SERVER {OPTIONS  package (name DM, set RANDOM_SEED 98765)}
Additional data masking examples are shown above in the PACKAGE server option.
Last updated: March 6, 2018