Skip to main content

Why Metadata Server is so important in SAS Platform?

I am sure that Metadata Server is the most spoken word by SAS Admin. Every day we deal with Metadata Server. Let's see what is the role of Metadata Server in SAS platform and why it is so important.

SAS Metadata Server:

All the SAS client applications connect to Metadata Server. SAS Management Console, Enterprise Guide, Information Map Studio, OLAP Cube Studio, Data Integration Studio are few examples of SAS client applications. It manages the metadata that contains the location and structure of SAS platform. The main role of Metadata is to read and write metadata. In SAS, Metadata means server definition, data definition, users and groups, security settings and BI content. When you open SAS Management Console you can see several plugins and their object. Those objects are nothing but metadata which is shown in graphical manner.

I hope you might have done user addition. When you add a user, metadata server gets invoked and it write those details in metadata. Metadata will be stored in the form of SAS datasets which is nothing but a table. You can see those SAS datasets under SAS configuration directory.

Applications to update metadata:

Users can access and update metadata using the SAS Management Console, SAS EG, and SAS DI Studio. It depends on the user which tool they use to update metadata. Admins use SAS Management Console, developers use SAS EG or DI to update metadata. You can also manage metadata by coding (SAS programs) like METADATA and METALIB procedures, DATA step functions and batch tools for metadata.

For example: Using batch tools (which I use most) for SAS metadata you can to following task.


  • sas-make-folder - This command will create metadata folder. The folder structure you see in SAS Management Console folders tab.
  • sas-list-object - This command is used to list SAS objects like libraries tables etc.
  • sas-delete-object - This command can be used to delete SAS objects. 


Almost all objects in SAS platform communicates with Metadata Server. SAS spawner, SAS servers and SAS middle-tier application to name a few.

Application for Admins:

Admins use SAS Management Console to administer metadata, users/group addition and apply security to metadata. In SMC, you can see three tabs - Plug-ins, Folders and Search. You obviously know what is the purpose of search, so let me focus on plug-ins and folders.

Plug-ins:

Each plug-ins provide administrative functionality. Plug-ins are small piece of software which allows you to do some task. You have users manager plugin to manage user, server manager plugin to administer server etc. If you have access to the plugin then you can add/view/delete objects. Say Martin has access to user manager plugin then he can add/view/delete user.

Folders:

All the metadata are organized in folder. The folder decides what object can a user see and use. For example: say there is folder named as sales analysis. If Martin has access to this folder then he can use the libraries available in these folder in his coding (SAS program). There will be many such folder but a user can use the libraries/table only if they have access to the folder.

Note: Any user can access library if it is not metadata bound.

Comments

Popular posts from this blog

Insufficient authorization to access PIPE error in SAS EG

Issue: When I tried to run SAS code in SAS Enterprise Guide it throws following errors: ERROR: Insufficient authorization to access PIPE. ERROR: Error in the FILENAME statement. Screenshot of error: Solution: This error occurs when you try to run OS commands in SAS code. To run the OS commands in SAS code you need to enable XCMD option. You check it in SAS Management Console by following below steps.   Open SMC -> Expand Servers -> Expand   In SASApp , expand Logical Workspace Server -> right click on Workspace Server. Click properties -> option tab -> advanced options -> launch properties. Check whether Allow XCMD is checked. The issue arises if the Allow XCMD is not checked. In above image, Allow XCMD option is not checked. It should be checked to run OS commands from SAS code. In Unix /Linux machines, this XCMD option can be enabled by using system option XCMD in sasv9 config file or workspaceserver.sh script f...

The authentication server is not SETUID ROOT error in SAS

Question: When validating the SAS Server from SAS Management Console, I received the following error: The authentication server is not SETUID ROOT.  So, I ran the setuid.sh utility and restarted the services many times. I just checked the elssrv sasauth sasperm setuid bit. There were no error in sasauth-debug.log, sasauth-access.log, sasauth-error.log.  Any suggestions? Answer: Please do the following:    1) Run /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh stop  2) Edit /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh and add the code shown below right after SCRIPT=`basename $0`:  if [ -n ""$TKPATH"" ]; then  unset TKPATH  fi   if [ -n ""$TK_PATHLIST"" ]; then  unset TK_PATHLIST  fi    3) Run /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh start  The above code change in ObjectSpawner.sh should fix the issue.

SAS - CLI error trying to establish connection

Issue: User asked me to make a database connectivity to SQL Server. They provided following details SQL server hostname and ip address Database/DSN name Username Password I made entry in ODBC.ini file. You know, SQL Server entries were made in ODBC.ini and Oracle entries were made in TNS.ora file. Everything went fine, took back up of odbc.ini, made entry and saved the file. So to test this connection I ran the libname statement in SAS Enterprise Guide 6.1. It throwed following error. Error Message: My DB team showed that they are able to login   14 GOPTIONS ACCESSIBLE; 15 LIBNAME test ODBC DATASRC=SGE_DS SCHEMA=VST USER=sales PASSWORD=XXXXXXXXX; ERROR: CLI error trying to establish connection: [SAS/ACCESS to SQL Server][ODBC SQL Server Legacy Driver][SQL Server]Login failed for user 'sales'. Solution: First I suspected that Login failed for user 'sales' meant the password provided by DB team was wrong. They responded that they were able to login wi...