SAS Federation Server Configuration Reference

Locale Support

SAS Federation Server supports the English, United States of America (en_US) locale. The following table outlines the character representations and format used for output. There are no deviations from these formats:
Character Type
Format
Number
ddddd.fffffffff
Date
yyyy-mm-dd
Time
hh:mm:ss
Timestamp
yyyy-mm-dd hh:mm:ss[.ffffffff]
Note: You should configure database drivers and clients to match this behavior to ensure that conversions are handled correctly.

Key Configuration Files

These configuration files are located in the configuration directory of SAS Federation Server, for example, C:\SAS\Config\Lev1\FederationServer\etc. The following table lists the key configuration files for SAS Federation Server:
Type
File or Script Name
Description
Data Quality
dfs_serv_dq.xml
This is the configuration file that contains the data quality methods and the location of SAS QKB.
Server
dfs_serv.xml,
dfs_serv_common.xml
These are the core configuration files for SAS Federation Server. They specify the system users, the location of the internal database, and other key configuration settings necessary for proper functionality of SAS Federation Server. Detailed configuration information is presented in the Configuration Options.
Server DTD
dfs_entities.dtd
The dfs_entities.dtd file contains the values that were supplied during installation of SAS Federation Server. These values are referenced by other configuration files, as dfs_serv.xml and dfs_serv_common.xml files.
Logging
dfs_log.xml
This is the logging facility configuration file for SAS Federation Server. It specifies logging options for SAS Federation Server from information-only to debug and trace. This file is located in the /etc directory of the configuration path.
dfs_log_SQL_Logging.xml 
This is the configuration file that is used to facilitate SQL Logging. This file is located in the /etc directory of the configuration path.

About dfs_entities.dtd

SAS Federation Server uses the dfs_entities.dtd file to store values that are supplied during installation and configuration. These values are used by the other configuration files, dfs_serv_common.xml, dfs_serv.xml, dfs_log4sas.xml, and dfs_log_sql_logging.xml. Following is an example of the dfs_entities file. Note that SAS Federation Server now uses a separate path/directory for installation and configuration:
SAS Federation Server Configuration Parameters – dfs_entities.dtd
SAS Federation Server Configuration Parameters

About Option Names and Option Sets

Overview

The dfs_serv_common.xml and dfs_serv.xml configuration files consist of a combination of option names and option sets that are explained below.

Option Names

Option names, also referred to as ‘options’, specify a name=value pair as configuration file options. Option names can stand alone in a configuration file, or they are contained within an option set. Here are the different types of option name configurations that appear in SAS Federation Server configuration files:
The string that follows is a simple name=value pair that represents a configuration option:
<Option name=”XXX”>yyy</Option>
In the example that follows, port is the option name that you are configuring and 21030 is the specified port number for the server:
<Option name="Port">21030</Option>

Option Sets

An option set is a collection of one or more options, or option names. Options that belong in an option set will not be assessed correctly if they are not placed within the opening and closing tags of the <OptionSet>. An option set requires that you specify at least one option for the configuration to be valid. Here is an example:
<SystemUsers>
    <Option name="Account">CARYNT\testuser</Option>
    <Option name="Account">domain\uid2</Option>
</SystemUsers>

Configuration Options

Overview

The following sections reflect the options that are available in the system configuration files, dfs_serv.xml and dfs_serv_common.xml. A dfs_entities.dtd exists for specific configurations. The dfs_entities.dtd file contains the values supplied during installation of SAS Federation Server. These values are referenced by the system configuration files.
CAUTION:
Server configurations that are set in the system configuration files will override existing configurations on SAS Metadata Server.

SAS Metadata / SAS Federation Server Configuration Options

This table specifies the required configuration options for connectivity from SAS Federation Server to SAS Metadata Server.
Name
Description
Configuration File
MetaConfig
MetaConfig specifies the path to the sasv9_meta.cfg file that is configured and copied to SAS Federation Server by the SAS Deployment Wizard process. The sasv9_meta.cfg file contains the metadata user name and password information needed to complete the connection to SAS Metadata Server.
<Option name=”MetaConfig”>path-to-sasv9_meta.cfg-file</Option>
dfs_serv.xml
MetaProfile
MetaProfile is used to connect to SAS Metadata Server using a profile. MetaProfile specifies the path to the metadataconfig.xml file which contains connection information to SAS Metadata Server. MetaUser and MetaPass specifies the name and password that you are connecting with.
 <Option name="MetaProfile">path to metadataConfig.xml</Option>
dfs_serv.xml
MetaUser
MetaPass
MetaUser and MetaPass specifies the user name and password used to connect to SAS Federation Server.
 <Option name="MetaUser">userid</Option>
   <Option name="MetaPass">password<Option>
dfs_serv.xml

SAS Federation Server Configuration Options

This table specifies the configuration options for the SAS Federation Server environment.
Name
Description
Configuration File
Authentication Provider Domain
The AuthProviderDomain option associates authentication providers with domains. This option reroutes users from their default provider and domain to the tksecas provider for validation. The tksecas provider then forwards the authenticating user to SAS Metadata Server for resolution and provides SAS Federation Server with the identity of the connected user. The tksecas provider accepts multiple domains. The syntax for this option is a series of comma-separated mappings: provider-name:domain-name.
<Option name="AuthProviderDomain">( SASPassword:, tksecas:saspw, SASGenerated:,
tksecas:'!*(generatedpassworddomain)*!' )</Option>
dfs_serv.xml
Application Name
Application name specifies a name for the SAS Federation Server. The default is set in dfs_entities.dtd as the name of the logical federation server definition in SAS Metadata Server. This option corresponds to the X{App.Name} entry in the SQL logging configuration file.
<Option type="String" name="env:App.Name">&cfg.fsid;</Option>
dfs_serv.xml from dfs_entities.dtd
Set Environment Variables
The SetEnv option sets the OS environment variables to specific values. If the environment variable does not exist, it will be created and set to the option value. If the environment variable does exist, the value will be updated to the option value. Set FIREBIRD_TMP as an environment option to use in the event that the default database directory runs out of space. Once the default directory has no available space, the engine switches to the directory specified in FIREBIRD_TMP.
<OptionSet name="SetEnv">
   <Option name="FIREBIRD">[drive]:\install_dir\lib\fbembed</Option>
   <Option name="FIREBIRD_LOG">[drive]:\install_dir\var\log</Option>
   <Option name="FIREBIRD_TMP">[drive]:\FDS_Tmp</Option>
</OptionSet>
Note: The SetEnv option set is also used to define the path for Hadoop JAR files. See “Hadoop Configuration Options” below.
dfs_serv_common.xml
Prepend Environment Variables
The PrependEnv option will find the indicated OS environment variable and prepend the option value to the OS environment variable value. If the environment variable does not exist, it will be created and set to the option value. The PrependEnv option will not add a delimiter of any sort between the existing and new environment variable value. If a semicolon (;) is needed, then the option value should include it at the end.
<OptionSet name="PrependEnv">
   <Option name="FIREBIRD">drive:\install_loc\firebird</Option>
</OptionSet>
Security Provider
The security provider option set provides information about SAS Federation Server's security provider, including the threaded kernel extension name and other information specific to the security provider.
  • Database: Specifies the name of the transactional data store. The default name is SYSCAT.
  • ServerComponent: Specifies the name of the Metadata Server object that identifies the data management server, machine, and port of the server where the system catalog (SYSCAT) resides.
<OptionSet name="SecurityProvider">
<Option name="extension">tkescfb</Option>
<Option name="Database">syscat</Option>
</OptionSet>
dfs_serv_common.xml
Function Dispatch Manager Option
The Function Dispatch Manager tells FedSQL to load an extension that implements SQL functions, including row-level security. This option should always be set to tktsfd.
<Option name="FunctionDispatchManager">tktsfd</Option>
dfs_serv_common.xml
Content Root Option
Defines the content root for SAS Federation Server. The content root is used to resolve all relative pathnames specified in SAS Federation Server configuration, such as a schema path. It is recommended that the value for ContentRoot be set to an absolute, fully qualified path. If the ContentRoot option is not set, files will be written to the install directory.
  • Content root is absolute or relative to the install directory. 
  • TRACEFILEPATH is absolute or relative to content root.
  • TRACEFILE names are resolved against the TRACEFILEPATH path. Paths that do not match are rejected.
  • PRIMARYPATH paths in schema configuration options are absolute or relative to content root.
  • SCHEMA=(PRIMARYPATH) connection string options are resolved against PRIMARYPATH schema configuration path.
<Option name="ContentRoot">content_root_path</Option>
dfs_serv_common.xml
License Option Set
Sets the location of the license for SAS Federation Server.
<OptionSet name="License">
   <OptionSet name="Primary">
      <Option name="Location">&cfg.license.primary.loc</Option>
   </OptionSet>
dfs_serv_common.xml from dfs_entities.dtd
Transactional Data Store Options
The FIREBIRD environment variable specifies the location of the Transactional Data Store installation files.
The FIREBIRD_LOG environment variable specifies the location of the log files for Transactional Data Store. The configuration file generated during installation sets the FIREBIRD_LOG option to the var\log directory of the installation path. If FIREBIRD_LOG is not set, the federation server will default to one of two locations:
  • TranPath – If the TranPath environment variable is set, FIREBIRD_LOG is set to the TranPath value.
  • ContentRoot – If TranPath is not set, FIREBIRD_LOG is set to the ContentRoot value as defined in the configuration file.
<Option name="FIREBIRD">drive:\install_dir\lib\fbembed</Option>
<Option name="FIREBIRD_LOG">drive:\install_dir\var\log</Option>
dfs_serv_common.xml

Hadoop Configuration Options

Name
Description
Configuration File
Path to Hadoop JAR Files
As a prerequisite for the using the SAS Federation Driver for Apache Hive, Hadoop JAR files must be installed and the SAS_HADOOP_JAR_PATH environment variable defined before using the driver. The variable points to the location of the Hadoop JAR files and is defined in the SetEnv option set during installation of SAS Federation Server, if Hadoop is included with the order.
<OptionSet name="SetEnv">
       <Option name="SAS_HADOOP_JAR_PATH">\SAS\Config\Lev1\FederationServer
        \lib\Hadoop</Option>
 </OptionSet>
dfs_serv.xml from dfs_entities.dtd
Hadoop Configuration Path
Hadoop cluster configuration files include core-site.xml, hdfs-site.xml, hive-site.xml, mapred-site.xml, and, if applicable, yarn-site.xml. You must copy Hadoop configuration files from the Hadoop cluster to a physical location accessible by SAS Federation Server, if they are not already accessible. You must also define and set the environment variable SAS_HADOOP_CONFIG_PATH to the location of the Hadoop configuration files. By defining the environment variable as a configuration option, you do not need to specify HD_CONFIG in the connection string.
<Option name="SAS_HADOOP_CONFIG_PATH">\\host-name\path\hadoop-config\</Option>
dfs_serv.xml

Data Quality Functions Configuration

Name
Description
Configuration File
Data quality functions configuration
Specifies the location of the Quality Knowledge Base (QKB) that is used with the data quality functions.
<!ENTITY cfg.qkb.loc "\\path to QKB directory\QKB\CI24"
dfs_serv_dq.xml from dfs_entities.dtd

Miscellaneous Configuration Options

Name
Description
Append Environment Variable OptionSet
The AppendEnv option set locates the specified OS environment variable and appends the specified option to the environment variable’s current value. If the environment variable does not exist, it is created and set to the specified value. The AppendEnv option does not add a delimiter between the existing and appended environment variable values. If a delimiter is needed, it should be included at the beginning of the specified value.
<OptionSet name="AppendEnv">
   <Option name="FIREBIRD">drive:\install_loc\firebird</Option>
</OptionSet>
Deadlock Protection Option
Specifies the wait time for a connection in deadlock. A deadlock is sometimes caused by competing resources on the server resulting in perpetual wait time for the tasks to complete. This option controls the wait time in milliseconds before timing out a lock attempt that is causing the deadlock. If a connection cannot be acquired within the specified time limit, the request fails and the deadlock connection is released, allowing the remaining connection to run to completion. The default is <=0 which waits ‘forever’.
<Option name="SystemDBCTimeOut">milliseconds</Option>
Memory Size Option
The MemSize option specifies the total amount of memory available for each SAS Federation Server session. If a setting is not specified, all system memory is available for use by SAS Federation Server. However, SAS Federation Server will use only as much memory as it needs to complete a process. Setting a value that is too low will result in out-of-memory conditions.
<Option name="MemSize">nnnnn [(K|k|M|m|T|t)[(B|b)]]</Option>
System Users Option
The System Users option defines the system user account that is given all privileges to SAS Federation Server including all user and data objects. This privilege cannot be revoked or denied. When system users grant or deny privileges to others, the grantor is reflected in the system tables as the SYSTEM user ID. A system user should be a domain-qualified user name.
<SystemUsers>
   <Option name="Account">domain\uid1</Option>
   <Option name="Account">domain\uid2</Option>
</SystemUsers>
Note: A system user account, sasfedadm, is created during SAS Federation Server installation
Select * Expansion
This option modifies the behavior of the SELECT * expansion for table columns. The configuration options are ALL or VISIBLE. If set to ALL, the SAS Federation Server attempts to expand SELECT * to all of the physical columns in the table and fails if the user does not have the SELECT privilege to one or more columns. If set at VISIBLE, which is the default value, SAS Federation Server traverses the visible path, expanding the SELECT * privilege to those columns for which the user has the SELECT privilege.
<Option name="SelectStarExpansion">ALL</Option>
Last updated: March 6, 2018