If there are not enough worker processes available at runtime, the execution engine attempts to reduce the number of worker processes used by the exchange operators present in the plan:
First, by attempting to reduce the worker process usage of certain exchange operators in the query plan without resorting to serial recompilation of the query. Depending on the semantics of the query plan, certain exchange operators are adjustable and some are not. Some are limited in the way they can be adjusted.
Parallel query plans need a minimum number of worker processes to run. When enough worker processes are not available, the query is recompiled serially. When recompilation is impossible, the query is aborted and the appropriate error message is generated.
It does so in two ways:
Adaptive Server supports serial recompilation for all:
Ad hoc select queries, except select into, alter table, and execute immediate queries.
Stored procedures, except select into and alter table queries.