HI all,
I have a question regarding Idle sessions. I am a Teradata DBA, and we have implemented an idle session timeout. Any session that is in an idle state for 30 minutes is terminated by the system. We are seeing SAS errors occurring fairly regularly since we have implemented timeout. The error is "The session id is illegal.", which means that it's trying to use a session that does not currently exist on the server. We have dug through the logs and we can see the session is idle, and terminated by Teradata.
To be clear, I am not a SAS programmer or administrator. Just a DBA grunt. Is there a setting.. like a keep-alive parameter that we can set to issue a tiny little query (select 1;) to basically reset the idle time clock? Or to make SAS reuse a session that is sitting idle?
Your DBA grunt is understandable and the cause is the local programming practice.
I don't know if any keep alive parameter exists but it is a bad idea.
The solution is for programmers to work out.
You should ask the SAS administrator how these SAS to Teradata database connections are created. In my experience it is quite common practice for these connections to be defined as part of a SAS session startup. If this is the case then the SAS data connection should use the option DEFER = YES so the database session is only initiated when it is first used. This may reduce some of the session errors you are seeing.
@climbamnt What you shared here just helped me figuring out what went wrong with my process. AND even better: MS Copilot found your contribution and shared the link with me.
The SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment.
Learn how to explore data assets, create new data discovery agents, schedule data discovery agents, and much more.
Find more tutorials on the SAS Users YouTube channel.