Is there a way to stop a single _mprosrv
process started by the database broker? All I can find from documentation and google searches are ways to disconnect a single user connection or shut down the entire database.
For context, the problem is, that we are running an OpenEdge 10.2 database, that is mostly used by remote 4GL clients and one singular client using SQL over ODBC to run data export queries once a week. After rebooting the entire server in our current configuration, the database started up and broker spawned _mprosrv
server processes up to the maximum number of servers allowed for the broker. Therefore it can't start up a _sqlsrv2
process any more, because all the slots are occupied. Even during low usage periods where no remote 4GL clients are connected, the ODBC connection does not succeed, since the idle servers are not shut down to allow new servers to be spawned.
Hence the question – can I shut down a single 4GL server process to trigger a new server creation for SQL connections without taking the entire database and application offline?
Best Answer
After googling around some more with different queries, I found my answer from the Progress Knowledge Base after all.
First of all, it turns out that indeed, the remote server processes by default stay active until database shutdown happens. So if all the slots are occupied by 4GL servers, they will not open up a slot for a SQL server by themselves.
However, the
PROMON
utility has commands to terminate specific server processes gracefully to free up server slots. The sequence of commands is as follows from thePROMON
main menu:R&D
for Advanced options4
for Administrative functions7
for Server options7
for Terminate a serverFrom the server list find the server ID that needs to be terminated and type it in. After issuing the command, using the
R
option to refresh the screen the terminated server ID should show up as inactive.After terminating a server, a new SQL server should be spawned if an ODBC connection to the system is initiated.
On Windows you might need to use a local user account, that is in the Administrators group. Domain users belonging to Administrators group are not allowed to terminate servers.
Sources: