Although this is an error reported by the Backup Server, it is not unique to it. The error can be raised by any client built using Open Client DB-Library. DB-Library has a default of 25 DBPROCESS structures, but can be configured for more. It sounds as if your client exceeded it's current setting.
Details on this setting can be found in the
Software Developer's Kit 15.7 > Open Client DB-Library/C Reference Manual > Routines
http://infocenter.sybase.com/help/topic/com.sybase.infocenter.dc32600.1570/html/dblib/X42139.htm
Errors
The
dbopen call will return NULL if any of the following errors occur. These errors
can be trapped in the applications error handler (installed with
dberrhandle.)
Error Condition/cause
-------
-----------------------------------------------------------------------
SYBEDBPS
Maximum number of DBPROCESSes already allocated.
Note that an application
can set or retrieve the maximum number of DBPROCESS structures with
dbsetmaxprocs and
dbgetmaxprocs
dbsetmaxprocs
http://infocenter.sybase.com/help/topic/com.sybase.infocenter.dc32600.1570/html/dblib/X47066.htm
Description:
Set the maximum number of simultaneously open DBPROCESS structures.
Syntax:
RETCODE dbsetmaxprocs(maxprocs)
int
maxprocs;
Parameters
maxprocs
The new limit on simultaneously open
DBPROCESS structures for this particular program.
Returns
SUCCEED or
FAIL.
Usage
A DB-Library program has a maximum number of
simultaneously open DBPROCESS structures. By default, this number is 25. The
program may change this limit by calling dbsetmaxprocs.
The program may
find out what the current limit is by calling dbgetmaxprocs.
The missing hour and minute fields in the errorlog are certainly strange, I have not seen that before. It may or may not be related to the DBPROCESS error.
When you say there were a number of maintenance actions running, do you mean someone was running DBCCs, REORGS, or DUMPs, or was it that sp_who or sysprocesses showed some number of connections as "MAINTENANCE TOKEN"? The later is often seen when a connection is early in the login process as it is the 0th element in an array of possible values and so shows up when the field is uninitialized. In that case, I think it may be related as the client may be initiating a login but then hitting the DBPROCESS error and breaking the connection early in the process.
-bret