QSQSRVR Job Considerations
The QSQSRVR prestart server jobs run in the QSYSWRK subsystem by default, but you can configure the subsystem for these jobs.
By Dawn May02/20/2019
IBM i has the ability to link the SQL Server Mode job to the requesting job to help you understand where the SQL statement originated. The QSQSRVR prestart server jobs run in the QSYSWRK subsystem by default, but you can configure the subsystem for these jobs. I wrote about these topics before, but this blog pulls these considerations together in a single article.
- You may want to review active QSQSRVR jobs, the system resources that are being consumed, and identify the jobs associated with those QSQSRVR jobs.
- You may want to identify which QSQSRVR job is handling work for a specific job.
The QSYS2.ACTIVE_JOB_INFO can be used to get information about the desired QSQSRVR jobs. Then, for each active QSQSRVR job, use the QSYS2.JOBLOG_INFO service to retrieve the CPF9898 message, which identifies the requesting job for the SQL Server Mode request. I also reviewed this example in the Prestart Job Messages article.
IBM i Access Client Solutions provides an example:
You could create variations on both of the above examples by combining the QSYS2.ACTIVE_JOB_INFO() service to find all the active jobs that have the SQL Server Mode flag set, then use the QSYS2.FIND_QSQSRVR_JOBS procedure to find the QSQSRVR job handling that SQL server mode request.
- Run all QSQSRVR jobs in their own subsystem
- Run the QSQSRVR jobs in the same subsystem as the client job initiating the SQL Server Mode request.
Dawn May is an IBM i consultant. She owns Dawn May Consulting, LLC in the Greater Boston area. Dawn is a former IBM senior technical staff member.