A utility connection
is used for engines that can lock system resources as a result of
such operations as DELETE or RENAME, or as a result of queries on
system tables or table indexes. This connection prevents COMMIT statements
that are issued to unlock system resources from being submitted on
the same connection that is being used for table processing. Keeping
COMMIT statements from table processing connection alleviates such
problems that they can cause as invalidating cursors and committing
pending updates on the tables that are being processed.
Because a utility connection
exists for each LIBNAME statement, the number of connections to a DBMS
can be large as multiple librefs are assigned across multiple SAS
sessions. Setting UTILCONN_TRANSIENT=YES keeps these connections from
existing when they are not being used. This setting reduces the number
of current connections to the DBMS at any given point in time.