17
There are not enough system session descriptors available to run this query. Raise the value of the configuration parameter ’number of aux scan descriptors’ or retry your query later.
This error occurs when Adaptive Server runs out of system session descriptors when running a query. Error 603 can occur on commands which create, drop, and update objects, as these commands often have many dependencies on system tables which Adaptive Server must handle to complete the command.
Session descriptors are the data structures used to manage access to Adaptive Server objects. Session descriptors come in three forms—user session descriptors (including worktable session descriptors), system session descriptors, and worktable session descriptors.
Session descriptors are used when:
A query is compiled or executed, a user session descriptor is reserved and assigned to each table involved in the query. Adaptive Server allocates user session descriptors so that the number of tables involved in a query is limited to 50 user tables and 14 work tables. If a single table is referenced more than once in the from clause (a “self join”), a user session descriptor is reserved for each reference. User session descriptors correspond to the number of open objects configuration parameter.
System session descriptors are used for system tables that are not named in the query. For example, the following query prompts Adaptive Server to open sysobjects and syscolumns to look up the table t and its columns x and y:
select x from t where y = 3
A maximum of six system session descriptors are available.
A worktable session descriptor is used to manage references to worktables. A worktable is required for order by, group by, distinct, and some other operators. Also, the query optimizer may choose a plan involving reformatting which copies rows from a table into a worktable, creates an index, then performs joins between the worktable and other tables in the query. There are 12 worktable session descriptors that can be used at any one time.
You cannot change the number of session descriptors available to a query.
When you error 603 is raised, you must simplify your query or command. To recover from this error, split up your query or simplify the command and run it again.
For example, if you are entering a drop procedure command and that procedure contains other procedures or triggers, you can simplify your command by dropping the other procedures or triggers manually before running the drop procedure command.
Refer to the chapter “Setting Configuration Parameters” in the System Administration Guide: Volume 1 for a description of “number of aux scan descriptors” and how queries use scan descriptors.
All versions