Skip to main content

Metadata repositories and repository manager in SAS

Repository in SAS

A repository stores information about your data in physical path or directory. The actual tables are not stored in the repository instead it data about the tables are stored in repository tables. The data about the tables will be table attributes like label, library, type and column attributes like name, length, type, format etc
SAS Repository Anatomy

The above image shows, every time we register a new table, it gets registered in the repository. The same table can be registered in one or more repository.  

Image Reference: SAS® Guide to Applications Development

Metadata Repository

Metadata Repository is a library of tables in which a collection of related metadata objects is stored. It is managed by a repository manager. They are stored in physical location. Below is the snapshot of the metadata repositories in physical location.


In the above image accentry, accsscn0, caset, cmap etc are the library of tables. All theses table metadata object are related. The extension of these tables are sas7bdat which are sas data set files.

Note: You should not edit these SAS data sets directly. Editing them will corrupt the file.

Each repository contains the following SAS files:

  •  cntainer (Type=DATA)
  •  column (Type=DATA)
  •  dynattr (Type=DATA)
  •  library (Type=DATA)
  •  mdassoc (Type=DATA)
  •  mrrgstry (Type=DATA)
  •  slist (Type=CATALOG)
  •  table (Type=DATA)

Repository Manager


The repository manager holds information about all the repositories in the environment. For example, the table rposctrl in the repository manager will have information like Object name, ID, repository type, repository path. 

  • Object name - It is the name of the repository
  • ID - Unique id serves as a primary key of the table, it will be generated automatically by SAS platform. 
  • Repository type - Shows whether the repository is Foundation or a project or custom.
  • Repository path - Will have the physical location of the repository.
There are several tables under repository manager and each has its own purpose. Each repository manager contains the following SAS files:
following SAS files:
  • assocmgr (Type=DATA)
  • cntainer (Type=DATA)
  • dictctrl (Type=DATA)
  • mrrgstry (Type=DATA)
  • rposctrl (Type=DATA)
  • verbmgr (Type=DATA)

Types of Metadata Repositories

There are three types of supported metadata repository. 

Foundation Repository

It is the primary repository where metadata server stores metadata. There should be only one foundation repository for each metadata server. When the metadata server is configured, foundation repository will be created by default. In SAS Management Console, you can see the foundation repository with the name Foundation, which is also the default name. You can change the name of the foundation repository name by performing custom install.

Custom Repository

It is an optional repository used for security purpose. The main purpose of the repository is to store the metadata in a new directory in physical location. We can customize the security so that only a particular set of users/groups will be allowed. Sometimes, you may run out of space in physical location, in that case you can create a custom repository. 

In SAS Management console, you can see the custom repository will appear as a separate folder in Folder tab.

Project Repository

It is an optional repository used as an isolated work area and can be used only using a SAS Data Integrated studio. 

Note: By default, only foundation repository will be created during installation and configuration.

Comments

Post a Comment

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...